subsurface/core
Linus Torvalds a8b1c86139 Limit gas compressibility argument range to halfway sane values
The curve fitting for our gas compressibility was only done in the sane
range of 0-500 bar, which is what a scuba cylinder can reasonably be
expected to perhaps have.

But the planner ends up happily using negative cylinder pressures when
you run out of gas, and then the compressibility gives nonsensical
results.

That's clearly a planner bug, but the nonsensical gas compressibility
values made it harder to see what could be wrong.

So we just clamp the inpot range to the range we have verified against
experimental data.  If you try to get compressibility for negative
pressures, you get the compressibility for an ideal and imaginary gas.
And if you try to get compressibility for pressures over 500 bar, we'll
just assume that it's 500 bar.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2019-08-08 09:07:48 +02:00
..
settings Cleanup: move deco function declarations to deco.h 2019-07-18 05:42:55 -07:00
subsurface-qt Core: dynamically resize weight table 2019-07-18 06:01:07 -07:00
android.cpp Make device enumeration use the device transport data 2018-08-27 22:10:38 -07:00
applicationstate.cpp Turn application state into enum 2019-05-12 12:33:55 -07:00
applicationstate.h Turn application state into enum 2019-05-12 12:33:55 -07:00
btdiscovery.cpp Bluetooth: autodetect Shearwater NERD models 2019-07-19 21:50:36 -07:00
btdiscovery.h Mobile: only show dive computers in the Bluetooth connection list 2019-02-14 09:05:58 -08:00
checkcloudconnection.cpp Cleanup: remove includes from qthelper.h 2019-07-18 05:42:55 -07:00
checkcloudconnection.h get rid of some foreach and Q_FOREACH constructs 2019-04-12 12:59:17 +03:00
cloudstorage.cpp Cleanup: remove includes from qthelper.h 2019-07-18 05:42:55 -07:00
cloudstorage.h get rid of some foreach and Q_FOREACH constructs 2019-04-12 12:59:17 +03:00
CMakeLists.txt Cleanup: move gas-functions to own translation unit 2019-06-19 13:11:10 -07:00
cochran.c Cleanup: remove bogus mark_divelist_changed() calls 2019-07-19 21:44:13 -07:00
cochran.h Cochran import: better support for older models 2017-05-31 21:53:00 -07:00
color.cpp Cleanup: silence clang missing braces warning in core/color.cpp 2018-09-01 11:31:18 -07:00
color.h Cleanups to core/color.[c|hpp] 2018-07-18 02:09:15 +03:00
compressibility.r Move subsurface-core to core and qt-mobile to mobile-widgets 2016-04-04 22:33:58 -07:00
configuredivecomputer.cpp ConfigureDiveComputer::saveXMLBackup(): factor out writing gas details 2019-03-27 07:36:33 -07:00
configuredivecomputer.h Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
configuredivecomputerthreads.cpp Misc: replace some FIXME comments 2019-03-19 09:56:48 -07:00
configuredivecomputerthreads.h Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
connectionlistmodel.cpp Mobile: reinstate roleNames function in ConnectionListModel 2019-04-16 23:43:14 +12:00
connectionlistmodel.h Mobile: reinstate roleNames function in ConnectionListModel 2019-04-16 23:43:14 +12:00
datatrak.c Cleanup: move tag functions into own translation unit 2019-06-19 13:11:10 -07:00
datatrak.h Cleanup: const-ify functions taking dives and divecomputers 2018-08-23 14:41:01 -07:00
deco.c Cleanup: make local variables and functions in deco.c static 2019-06-19 13:11:10 -07:00
deco.h Cleanup: move deco function declarations to deco.h 2019-07-18 05:42:55 -07:00
device.c core: replace (void) with UNUSED(x) and include ssrf.h 2018-05-24 08:34:14 -07:00
device.h Core: remove dive.h from files that don't need it 2018-05-14 10:13:39 -07:00
devicedetails.cpp Implement OSTC4 specific settings 2017-05-04 10:50:15 -07:00
devicedetails.h Implement OSTC4 specific settings 2017-05-04 10:50:15 -07:00
display.h Cleanup: remove unused get_screen_dpi() function 2019-07-06 04:10:14 -07:00
dive.c Core: split copy_cylinders() in two functions 2019-07-27 11:55:05 -07:00
dive.h Core: dynamically resize weight table 2019-07-18 06:01:07 -07:00
divecomputer.cpp core: remove SettingsObjectWrapper and update qPref calls 2018-08-15 16:11:39 -07:00
divecomputer.h Dive computers: turn QMultiMap into sorted vector 2018-06-17 06:53:13 +09:00
divelist.c Cleanup: use clear_git_id() instead of setting saved_git_id 2019-08-04 16:22:19 -07:00
divelist.h Cleanup: use add_to_dive_table() in record_dive_to_table() 2019-06-19 13:11:10 -07:00
divelogexportlogic.cpp avoid duplicate and inconsistent applying of QDir::separator() 2019-03-27 07:36:33 -07:00
divelogexportlogic.h avoid duplicate and inconsistent applying of QDir::separator() 2019-03-27 07:36:33 -07:00
divesite-helper.cpp Dive site: use own copy of taxonomy in dive-site-edit widget 2018-10-13 21:41:41 -04:00
divesite.c Cleanup: generate clear_*_table() functions by macro 2019-06-19 13:11:10 -07:00
divesite.h Undo: make dive site merging undoable 2019-04-12 18:19:07 +03:00
divesitehelpers.cpp Undo: use QUndoStack::isClean() to determine unsaved changes 2019-04-12 18:19:07 +03:00
divesitehelpers.h Geo lookup: don't pass arguments / result via global object 2018-10-11 16:25:02 -07:00
downloadfromdcthread.cpp Cleanup: remove includes from qthelper.h 2019-07-18 05:42:55 -07:00
downloadfromdcthread.h Dive sites: prepare for dive site ref-counting 2019-04-12 18:19:07 +03:00
equipment.c Cleanup: remove unused weightsystem_none() function 2019-07-18 06:01:07 -07:00
equipment.h Cleanup: remove unused weightsystem_none() function 2019-07-18 06:01:07 -07:00
errorhelper.c Coding style: remove Java-style function definition 2019-04-12 18:19:07 +03:00
exif.cpp Coding-style: remove superfluous parentheses 2018-02-17 19:38:52 -08:00
exif.h Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
file.c Cleanup: move parse-function declarations out of "dive.h" 2019-04-12 18:19:07 +03:00
file.h Cleanup: move parse-function declarations out of "dive.h" 2019-04-12 18:19:07 +03:00
format.cpp Cleanup: Slightly shorten code in vqasprintf_loc() 2018-04-09 11:29:43 -07:00
format.h Cleanup: Move *_loc formatting functions into new format.cpp file 2018-04-09 11:29:43 -07:00
gas-model.c Limit gas compressibility argument range to halfway sane values 2019-08-08 09:07:48 +02:00
gas.c Cleanup: move gas-functions to own translation unit 2019-06-19 13:11:10 -07:00
gas.h Cleanup: move gas-functions to own translation unit 2019-06-19 13:11:10 -07:00
gaspressures.c Cleanup: introduce function to set pressure values 2019-07-18 05:50:22 -07:00
gaspressures.h Cleanup: Make gaspressures.h a regular include file 2019-06-19 13:11:10 -07:00
gettext.h Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
gettextfromc.cpp Localization: make cache thread safe and robust against use-after-free 2018-06-24 20:31:14 +02:00
gettextfromc.h Localization: remove gettextFromC::instance() 2018-06-24 20:31:14 +02:00
git-access.c Cleanup: remove includes from qthelper.h 2019-07-18 05:42:55 -07:00
git-access.h prefs: git_local_only is not a preference 2018-09-10 16:26:49 -07:00
gpslocation.cpp Cleanup: remove includes from qthelper.h 2019-07-18 05:42:55 -07:00
gpslocation.h Add 'location_t' data structure 2018-10-21 19:55:09 +03:00
imagedownloader.cpp Core: remove variable name conflict 2019-03-18 19:40:32 -07:00
imagedownloader.h Profile: add "synchronous" mode for picture plotting 2019-02-07 16:06:43 +01:00
import-cobalt.c Dive site: add dive site ref-counting 2019-04-12 18:19:07 +03:00
import-csv.c Parser: parse into custom dive site table 2019-04-12 18:19:07 +03:00
import-csv.h Parser: parse into custom dive site table 2019-04-12 18:19:07 +03:00
import-divinglog.c Core: dynamically resize weight table 2019-07-18 06:01:07 -07:00
import-shearwater.c Parser: parse into custom dive site table 2019-04-12 18:19:07 +03:00
import-suunto.c Cleanup: move tag functions into own translation unit 2019-06-19 13:11:10 -07:00
ios.cpp Make device enumeration use the device transport data 2018-08-27 22:10:38 -07:00
libdivecomputer.c Cleanup: remove bogus mark_divelist_changed() calls 2019-07-19 21:44:13 -07:00
libdivecomputer.h Parser: parse into custom dive site table 2019-04-12 18:19:07 +03:00
liquivision.c Cleanup: remove bogus mark_divelist_changed() calls 2019-07-19 21:44:13 -07:00
load-git.c Cleanup: use clear_git_id() instead of setting saved_git_id 2019-08-04 16:22:19 -07:00
macos.c macOS: always list 'FTDI' as a serial connection 2018-09-24 18:51:21 +02:00
membuffer.c Cleanup: unconstify string argument to add_to_string() 2019-03-27 13:58:15 +01:00
membuffer.h Cleanup: fix includes in membuffer.h 2019-06-19 13:11:10 -07:00
metadata.cpp Add 'location_t' data structure 2018-10-21 19:55:09 +03:00
metadata.h Add 'location_t' data structure 2018-10-21 19:55:09 +03:00
metrics.cpp Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
metrics.h Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
ostctools.c Cleanup: remove bogus mark_divelist_changed() calls 2019-07-19 21:44:13 -07:00
parse-xml.c Core: dynamically resize weight table 2019-07-18 06:01:07 -07:00
parse.c Core: dynamically resize weight table 2019-07-18 06:01:07 -07:00
parse.h Core: dynamically resize weight table 2019-07-18 06:01:07 -07:00
planner.c Planner: Wait minimum switch time when bailing out to OC 2019-06-28 15:58:52 +02:00
planner.h Cleanup: remove unused global variables plangflow and plangfhigh 2019-06-19 13:11:10 -07:00
plannernotes.c Update deco disclaimer 2019-05-29 15:04:33 +03:00
pref.h Add UI element for final surface segment in planner 2019-03-29 06:51:12 -07:00
profile.c Cleanup: introduce function to set pressure values 2019-07-18 05:50:22 -07:00
profile.h Cleanup: declare functions in profile.h as extern 2019-07-18 05:50:22 -07:00
qt-ble.cpp qt-ble: return DC_STATUS_TIMEOUT rather than DC_STATUS_IO on timeout 2019-04-18 05:42:54 +12:00
qt-ble.h get rid of some foreach and Q_FOREACH constructs 2019-04-12 12:59:17 +03:00
qt-gui.h core,tests: change qml register function 2018-09-11 17:22:58 -07:00
qt-init.cpp Cleanup: remove includes from qthelper.h 2019-07-18 05:42:55 -07:00
qthelper.cpp Cleanup: move trip-related functions into own translation unit 2019-06-19 13:11:10 -07:00
qthelper.h Cleanup: remove includes from qthelper.h 2019-07-18 05:42:55 -07:00
qtserialbluetooth.cpp drop support for Qt 5.4 and before 2019-03-27 07:36:33 -07:00
save-git.c Core: dynamically resize weight table 2019-07-18 06:01:07 -07:00
save-html.c Core: dynamically resize weight table 2019-07-18 06:01:07 -07:00
save-html.h Cleanup: remove includes from extern "C" block 2019-06-28 20:18:02 +09:00
save-profiledata.c Cleanup: call calculate_max_limits_new() in create_plot_info_new() 2019-07-06 11:23:35 -07:00
save-profiledata.h Write dive data as video subtitles 2019-04-16 20:38:19 +02:00
save-xml.c Core: dynamically resize weight table 2019-07-18 06:01:07 -07:00
serial_ftdi.c Fix Cressi interface ftdi opening bug 2018-11-18 20:01:28 +02:00
sha1.c Move subsurface-core to core and qt-mobile to mobile-widgets 2016-04-04 22:33:58 -07:00
sha1.h Move subsurface-core to core and qt-mobile to mobile-widgets 2016-04-04 22:33:58 -07:00
ssrf.h mobile: add timer to measure startup. 2018-05-30 21:47:07 -07:00
statistics.c Cleanup: move trip-related functions into own translation unit 2019-06-19 13:11:10 -07:00
statistics.h Add backend support for statistics by depth and temperature 2019-03-12 00:53:51 +01:00
strndup.h Add SPDX header to core C files 2017-04-29 13:32:55 -07:00
strtod.c Core: introduce new subsurface-string header 2018-05-14 10:13:39 -07:00
structured_list.h Cleanup: fix comment to STRUCTURED_LIST_FREE 2019-06-19 13:11:10 -07:00
subsurface-string.h Core: don't inline rarely used function 2018-05-14 10:13:39 -07:00
subsurfacestartup.c Add UI element for final surface segment in planner 2019-03-29 06:51:12 -07:00
subsurfacestartup.h Fix ownership issues in preferences code 2017-11-25 07:41:09 -08:00
subsurfacesysinfo.cpp drop support for Qt 5.4 and before 2019-03-27 07:36:33 -07:00
subsurfacesysinfo.h drop support for Qt 5.4 and before 2019-03-27 07:36:33 -07:00
table.h Core: dynamically resize weight table 2019-07-18 06:01:07 -07:00
tag.c Cleanup: move tag functions into own translation unit 2019-06-19 13:11:10 -07:00
tag.h Cleanup: move tag functions into own translation unit 2019-06-19 13:11:10 -07:00
taxonomy.c Dive site: use own copy of taxonomy in dive-site-edit widget 2018-10-13 21:41:41 -04:00
taxonomy.h Dive site: use own copy of taxonomy in dive-site-edit widget 2018-10-13 21:41:41 -04:00
time.c Add SPDX header to core C files 2017-04-29 13:32:55 -07:00
trip.c Import: use TRIP_THRESHOLD when checking for trip-overlap 2019-06-28 20:13:49 +09:00
trip.h Import: use TRIP_THRESHOLD when checking for trip-overlap 2019-06-28 20:13:49 +09:00
uemis-downloader.c Cleanup: remove bogus mark_divelist_changed() calls 2019-07-19 21:44:13 -07:00
uemis.c Dive sites: prepare for dive site ref-counting 2019-04-12 18:19:07 +03:00
uemis.h Dive site: use pointer instead of uuid in uemis_helper 2018-10-29 00:09:31 +00:00
units.c Cleanup: move unit-related functions to own translation unit 2019-06-19 13:11:10 -07:00
units.h Cleanup: move unit-related functions to own translation unit 2019-06-19 13:11:10 -07:00
unix.c Don't allow empty username for git 2019-01-16 02:38:30 +01:00
version.c Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
version.h Move subsurface-core to core and qt-mobile to mobile-widgets 2016-04-04 22:33:58 -07:00
videoframeextractor.cpp Thumbnailer: improve error message 2019-07-11 00:24:23 +09:00
videoframeextractor.h Dive media: Extract thumbnails from videos with ffmpeg 2018-07-28 15:31:25 -07:00
webservice.h Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
windows.c windows.c: fix wrong usage of wcslen() for utf8 conversation 2018-12-29 18:27:21 +01:00
windowtitleupdate.cpp Cleanup: Make WindowsTitleUpdate a global object 2018-07-30 13:55:23 -07:00
windowtitleupdate.h Cleanup: Make WindowsTitleUpdate a global object 2018-07-30 13:55:23 -07:00
worldmap-options.h Add SPDX header to core C files 2017-04-29 13:32:55 -07:00
worldmap-save.c Cleanup: remove redundant checks for null dive site 2019-04-12 18:19:07 +03:00
worldmap-save.h Add SPDX header to core C files 2017-04-29 13:32:55 -07:00
xmp_parser.cpp Desktop: fix yet another variable name conflict 2019-03-18 19:40:32 -07:00
xmp_parser.h Metadata: rudimentary support for XMP metadataa in MP4-based videos 2018-09-25 14:59:14 -07:00