Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cap windchill heat from vapor pressure to 50C #36450

Merged
merged 1 commit into from
Dec 28, 2019

Conversation

swwu
Copy link
Contributor

@swwu swwu commented Dec 26, 2019

Summary

SUMMARY: None

Purpose of change

Make heat transfer from fires more reasonable, instead of allowing fires to heat the player to 100000C.

Fixes #36449, #32861

Describe the solution

The model we currently use to approximate windchill seems to have degenerate behavior at high "dry-bulb" temperatures; this manifests most obviously by generating apparent temperatures in the millions of celsius for input temperatures of ~1000C.

Since most of this runaway extra temperature is from the vapor pressure term, and since it seems unreasonable that a given 1000C fire would actually have water vapor pressure of 10MPa (about 100 atmospheres) in its vicinity, we cap that vapor pressure-induced extra temperature to only 50C. This makes #36449 less of a problem, while not changing behavior in most normal gameplay situations.

Testing

Ran ./tests/cata_test locally. Some crafting tests failed, but they appear also to be failing on current HEAD of master.

Additional context

@swwu swwu changed the title Cap windchill heat from vapor pressure to 100C Cap windchill heat from vapor pressure to 200C Dec 26, 2019
@swwu swwu force-pushed the swwu/fix-36449 branch 3 times, most recently from 892e08a to 7dac115 Compare December 26, 2019 04:20
The model we use to approximate windchill seems to have degenerate
behavior at high "dry-bulb" temperatures; this manifests most obviously
by generating apparent temperatures in the millions of celsius for input
temperatures of ~1000C. Since most of this runaway extra temperature is
from the vapor pressure term, and since it seems unreasonable that a
given 1000C fire would actually have vapor pressure of 10MPa in its
vicinity, we cap that vapor pressure-induced extra temperature to only
100C.
@swwu swwu changed the title Cap windchill heat from vapor pressure to 200C Cap windchill heat from vapor pressure to 50C Dec 26, 2019
@curstwist curstwist added [C++] Changes (can be) made in C++. Previously named `Code` Mechanics: Temperature Freezing, cooling, thawing, heating, etc. mechanics Mechanics: Weather Rain, snow, portal storms and non-temperature environment and removed Mechanics: Weather Rain, snow, portal storms and non-temperature environment labels Dec 27, 2019
@Rivet-the-Zombie Rivet-the-Zombie merged commit 54c97b2 into CleverRaven:master Dec 28, 2019
@kevingranade
Copy link
Member

Thanks a ton for finally getting to the bottom of this issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[C++] Changes (can be) made in C++. Previously named `Code` Mechanics: Temperature Freezing, cooling, thawing, heating, etc. mechanics
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Fire creates unreasonably high temperatures
4 participants