Frequently there are questions in the Dive Computer sub forum wanting to know which algorithm a particular dive computer uses but rarely does anyone ask how those algorithms actually work (beyond asking if it is "conservative or liberal").
I thought I'd attempt to explain in a generic sense what all/most dive computers are actually doing "behind the scenes". I'm trying to make it as concise as possible rather than comprehensive. I'm no expert so feel free to correct any obvious misstatements!
Most dive computers are based on some form of a Haldane/Buhlmann dissolved gas algorithm (including those who address bubble mechanics...RGBM and VPM). That statement is a simplification but true enough for our purposes here! I'm mentioning this for anyone who wants to go further...just Google those names/terms!
Typically dive computer algorithms attempt to model the body using from 8-16 compartments. Think of these as representing bodily tissues but there is no direct connection between a particular compartment and a specific tissue such as bone, organs, fat, skin, etc. The idea is that as a whole the body is thought to on gas and off gas roughly along the same time frame as the model. It's frequently mentioned that a lot of this is "voodoo" science so take everything you read with a grain of salt!
The compartments are referred to by their half-lives (half-times) from fast to slow. The fastest half-life compartment (maybe 3 minutes) might represent something like blood. The slowest half-life compartment might represent bone, cartilage, bone marrow...those parts of the body that aren't serviced by blood vessels to the degree that something like the brain, heart and lungs are. Perhaps a compartment in the middle (from fast to slow) might represent something like fat.
An analogy might be similar to the following. Take a piece of tissue paper, a fatty donut and a small branch from a tree and throw them in the water. After an hour or so take them out. Get another set of the same items and throw them in the water and take them out after 24 hours.
You would probably find that the tissue paper was saturated with water immediately, the fatty donut needed a bit of time to become soaked with water to the core and in the first case the branch didn't become soaked at all internally (cut it in half to determine this). In the second case perhaps the branch did become soaked (after 24 hours).
The tissue paper is similar to the fastest compartments in this model (blood), the donut similar to a compartment in the middle (fat) and the branch may be more like the slowest compartment (similar to cartilage perhaps).
In diving rather than water soaking these items it's nitrogen under pressure dissolving into and out of our bodily tissues (or compartments in the case of decompression theory algorithms).
Really the computer is just checking the nitrogen content of the inspired gas (air for instance .78 ppN) and the nitrogen loading in each of the compartments as predicted by compartment half-lives. Whichever compartment has the highest nitrogen loading at any one time is considered the "controlling" compartment and that is the one the calculations are based on until another compartment becomes the controlling compartment.
Playing around with all this in a spreadsheet allows one to visualize what is happening by the way. Let's take an example. Take a dive to 100 fsw. That's roughly 4 atmospheres (99fsw). Your nitrogen loading on air at the surface is .78 and at 4 atmospheres it would be .78 * 4 or 3.12 (ppN). That changes immediately with depth unlike the compartments used in this algorithm which change according to the half-life of that compartment. So a fast 3 minute compartment "fills" halfway up in 3 minutes and the remaining part fills halfway up in another 3 minutes and the currently remaining part fills up in another 3 minutes. Since theoretically it never completely fills up, after 6 half-lives it is essentially "full". So a 3 minute compartment would be saturated after 3 * 6 or 18 minutes. Staying at that depth longer would not take on any more nitrogen in that compartment.
The same concept is repeated with each of the progressively slower compartments until eventually they would all be saturated and your body would take on no more nitrogen at that depth. This would be what happens in saturation diving. That's not what happens in recreation diving only because we don't stay down that long!
Now let's say it's time to start our ascent. The computer looks for the controlling compartment and applies another part of the algorithm to determine how much "super saturation" the body can safely handle. The limit is called "critical supersaturation". In dive algorithms this is generally referred to as the M-value which refers to maximum nitrogen saturation with no significant occurrence of DSC symptoms. For a recreational dive the controlling compartment should still allow for a direct ascent to the surface if you have stayed within the NDL. If you haven't, the controlling compartment indicates how much super saturation it can handle and returns a value that is a pressure value but since we are divers it is expressed (here in the U.S.) as fsw. So the controlling compartment may indicate that at this point in the dive we can ascend safely to 20 fsw. We stay there awhile to allow for more off gassing and now the controlling compartment allows us to go to 10 fsw. We can go to the surface only when the controlling compartment has off gassed enough to reduce the nitrogen loading to the point where the algorithm allows for an ascent to the equivalent pressure of the surface (or above).
The only thing that changes over time/multiple dives/days of diving is that the controlling compartment moves from the faster compartments to the slower compartments.
Think of it this way. If you go on a short enough dive, many of the compartments don't even "know" that you are under water much like the tree branch in the initial example If you could get a digital readout of the nitrogen loading in each "tissue" in your body you would see that the slower tissues or compartments when at 100 fsw have readings more like you would expect at the surface. They are slow to on gas but if you do get them saturated they are also slow to off gas.
So I guess the point of this post is to explain a little of what the dive computer is doing and what it is not doing. It is only following a rather simple algorithm. The algorithm has been tweaked enough by observed data (actual dives with actual divers) so whatever dive computer you have it's pretty safe (if used correctly of course).
I didn't get into RGBM or so called bubble theory only because this post is already long enough (or too long)! Bubble theory still uses dissolved gas theory for compartment loading but addresses the fact that while bubbles are actually formed they aren't accounted for by dissolved gas theory. Bubble theory basically tracks (predicts) a critical diameter bubble and quantity and doesn't allow bubbles to get larger than this critical diameter. The practical result is a slower ascent to the surface or stops that start sooner. The critical supersaturation level is reached sooner under this model.
I don't know if this post is helpful or just makes the subject more confusing! It's a hard subject to address in a short post format. Anyone please feel free to make corrections, comments, or ask questions. I can't work on my car but I do understand just a little bit about how it works. That's about all I can say about my dive computer as well
I thought I'd attempt to explain in a generic sense what all/most dive computers are actually doing "behind the scenes". I'm trying to make it as concise as possible rather than comprehensive. I'm no expert so feel free to correct any obvious misstatements!
Most dive computers are based on some form of a Haldane/Buhlmann dissolved gas algorithm (including those who address bubble mechanics...RGBM and VPM). That statement is a simplification but true enough for our purposes here! I'm mentioning this for anyone who wants to go further...just Google those names/terms!
Typically dive computer algorithms attempt to model the body using from 8-16 compartments. Think of these as representing bodily tissues but there is no direct connection between a particular compartment and a specific tissue such as bone, organs, fat, skin, etc. The idea is that as a whole the body is thought to on gas and off gas roughly along the same time frame as the model. It's frequently mentioned that a lot of this is "voodoo" science so take everything you read with a grain of salt!
The compartments are referred to by their half-lives (half-times) from fast to slow. The fastest half-life compartment (maybe 3 minutes) might represent something like blood. The slowest half-life compartment might represent bone, cartilage, bone marrow...those parts of the body that aren't serviced by blood vessels to the degree that something like the brain, heart and lungs are. Perhaps a compartment in the middle (from fast to slow) might represent something like fat.
An analogy might be similar to the following. Take a piece of tissue paper, a fatty donut and a small branch from a tree and throw them in the water. After an hour or so take them out. Get another set of the same items and throw them in the water and take them out after 24 hours.
You would probably find that the tissue paper was saturated with water immediately, the fatty donut needed a bit of time to become soaked with water to the core and in the first case the branch didn't become soaked at all internally (cut it in half to determine this). In the second case perhaps the branch did become soaked (after 24 hours).
The tissue paper is similar to the fastest compartments in this model (blood), the donut similar to a compartment in the middle (fat) and the branch may be more like the slowest compartment (similar to cartilage perhaps).
In diving rather than water soaking these items it's nitrogen under pressure dissolving into and out of our bodily tissues (or compartments in the case of decompression theory algorithms).
Really the computer is just checking the nitrogen content of the inspired gas (air for instance .78 ppN) and the nitrogen loading in each of the compartments as predicted by compartment half-lives. Whichever compartment has the highest nitrogen loading at any one time is considered the "controlling" compartment and that is the one the calculations are based on until another compartment becomes the controlling compartment.
Playing around with all this in a spreadsheet allows one to visualize what is happening by the way. Let's take an example. Take a dive to 100 fsw. That's roughly 4 atmospheres (99fsw). Your nitrogen loading on air at the surface is .78 and at 4 atmospheres it would be .78 * 4 or 3.12 (ppN). That changes immediately with depth unlike the compartments used in this algorithm which change according to the half-life of that compartment. So a fast 3 minute compartment "fills" halfway up in 3 minutes and the remaining part fills halfway up in another 3 minutes and the currently remaining part fills up in another 3 minutes. Since theoretically it never completely fills up, after 6 half-lives it is essentially "full". So a 3 minute compartment would be saturated after 3 * 6 or 18 minutes. Staying at that depth longer would not take on any more nitrogen in that compartment.
The same concept is repeated with each of the progressively slower compartments until eventually they would all be saturated and your body would take on no more nitrogen at that depth. This would be what happens in saturation diving. That's not what happens in recreation diving only because we don't stay down that long!
Now let's say it's time to start our ascent. The computer looks for the controlling compartment and applies another part of the algorithm to determine how much "super saturation" the body can safely handle. The limit is called "critical supersaturation". In dive algorithms this is generally referred to as the M-value which refers to maximum nitrogen saturation with no significant occurrence of DSC symptoms. For a recreational dive the controlling compartment should still allow for a direct ascent to the surface if you have stayed within the NDL. If you haven't, the controlling compartment indicates how much super saturation it can handle and returns a value that is a pressure value but since we are divers it is expressed (here in the U.S.) as fsw. So the controlling compartment may indicate that at this point in the dive we can ascend safely to 20 fsw. We stay there awhile to allow for more off gassing and now the controlling compartment allows us to go to 10 fsw. We can go to the surface only when the controlling compartment has off gassed enough to reduce the nitrogen loading to the point where the algorithm allows for an ascent to the equivalent pressure of the surface (or above).
The only thing that changes over time/multiple dives/days of diving is that the controlling compartment moves from the faster compartments to the slower compartments.
Think of it this way. If you go on a short enough dive, many of the compartments don't even "know" that you are under water much like the tree branch in the initial example If you could get a digital readout of the nitrogen loading in each "tissue" in your body you would see that the slower tissues or compartments when at 100 fsw have readings more like you would expect at the surface. They are slow to on gas but if you do get them saturated they are also slow to off gas.
So I guess the point of this post is to explain a little of what the dive computer is doing and what it is not doing. It is only following a rather simple algorithm. The algorithm has been tweaked enough by observed data (actual dives with actual divers) so whatever dive computer you have it's pretty safe (if used correctly of course).
I didn't get into RGBM or so called bubble theory only because this post is already long enough (or too long)! Bubble theory still uses dissolved gas theory for compartment loading but addresses the fact that while bubbles are actually formed they aren't accounted for by dissolved gas theory. Bubble theory basically tracks (predicts) a critical diameter bubble and quantity and doesn't allow bubbles to get larger than this critical diameter. The practical result is a slower ascent to the surface or stops that start sooner. The critical supersaturation level is reached sooner under this model.
I don't know if this post is helpful or just makes the subject more confusing! It's a hard subject to address in a short post format. Anyone please feel free to make corrections, comments, or ask questions. I can't work on my car but I do understand just a little bit about how it works. That's about all I can say about my dive computer as well