summaryrefslogtreecommitdiffstats
path: root/subsurface-core/gas-model.c
diff options
context:
space:
mode:
authorGravatar Dirk Hohndel <dirk@hohndel.org>2016-04-04 22:02:03 -0700
committerGravatar Dirk Hohndel <dirk@hohndel.org>2016-04-04 22:33:58 -0700
commit7be962bfc2879a72c32ff67518731347dcdff6de (patch)
treed05bf7ab234a448ee37a15b608e2b939f2285d07 /subsurface-core/gas-model.c
parent2d760a7bff71c46c5aeba37c40d236ea16eefea2 (diff)
downloadsubsurface-7be962bfc2879a72c32ff67518731347dcdff6de.tar.gz
Move subsurface-core to core and qt-mobile to mobile-widgets
Having subsurface-core as a directory name really messes with autocomplete and is obviously redundant. Simmilarly, qt-mobile caused an autocomplete conflict and also was inconsistent with the desktop-widget name for the directory containing the "other" UI. And while cleaning up the resulting change in the path name for include files, I decided to clean up those even more to make them consistent overall. This could have been handled in more commits, but since this requires a make clean before the build, it seemed more sensible to do it all in one. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'subsurface-core/gas-model.c')
-rw-r--r--subsurface-core/gas-model.c64
1 files changed, 0 insertions, 64 deletions
diff --git a/subsurface-core/gas-model.c b/subsurface-core/gas-model.c
deleted file mode 100644
index ad1160f3b..000000000
--- a/subsurface-core/gas-model.c
+++ /dev/null
@@ -1,64 +0,0 @@
-/* gas-model.c */
-/* gas compressibility model */
-#include <stdio.h>
-#include <stdlib.h>
-#include "dive.h"
-
-/* "Virial minus one" - the virial cubic form without the initial 1.0 */
-#define virial_m1(C, x1, x2, x3) (C[0]*x1+C[1]*x2+C[2]*x3)
-
-/*
- * Cubic virial least-square coefficients for O2/N2/He based on data from
- *
- * PERRY’S CHEMICAL ENGINEERS’ HANDBOOK SEVENTH EDITION
- *
- * with the lookup and curve fitting by Lubomir.
- *
- * The "virial" form of the compression factor polynomial is
- *
- * Z = 1.0 + C[0]*P + C[1]*P^2 + C[2]*P^3 ...
- *
- * and these tables do not contain the initial 1.0 term.
- *
- * NOTE! Helium coefficients are a linear mix operation between the
- * 323K and one for 273K isotherms, to make everything be at 300K.
- */
-double gas_compressibility_factor(struct gasmix *gas, double bar)
-{
- static const double o2_coefficients[3] = {
- -7.18092073703e-04,
- +2.81852572808e-06,
- -1.50290620492e-09
- };
- static const double n2_coefficients[3] = {
- -2.19260353292e-04,
- +2.92844845532e-06,
- -2.07613482075e-09
- };
- static const double he_coefficients[3] = {
- +4.87320026468e-04,
- -8.83632921053e-08,
- +5.33304543646e-11
- };
- int o2, he;
- double x1, x2, x3;
- double Z;
-
- o2 = get_o2(gas);
- he = get_he(gas);
-
- x1 = bar; x2 = x1*x1; x3 = x2*x1;
-
- Z = virial_m1(o2_coefficients, x1, x2, x3) * o2 +
- virial_m1(he_coefficients, x1, x2, x3) * he +
- virial_m1(n2_coefficients, x1, x2, x3) * (1000 - o2 - he);
-
- /*
- * We add the 1.0 at the very end - the linear mixing of the
- * three 1.0 terms is still 1.0 regardless of the gas mix.
- *
- * The * 0.001 is because we did the linear mixing using the
- * raw permille gas values.
- */
- return Z * 0.001 + 1.0;
-}