summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorsavask <savask@yandex.ru>2011-06-14 09:19:10 (GMT)
committer Simon Robertshaw <simon@hardwired.org.uk>2011-06-14 16:13:25 (GMT)
commit5e43bb0510e704b66120391c027c7568f5b6f920 (patch)
tree7cbe96a8a4e889a7beba7783be0869fcd7c6e731 /src
parent304a2fa8194421b95fc51c5fabd795a438fb0868 (diff)
downloadpowder-5e43bb0510e704b66120391c027c7568f5b6f920.zip
powder-5e43bb0510e704b66120391c027c7568f5b6f920.tar.gz
Heat simulation improvement.
Diffstat (limited to 'src')
-rw-r--r--src/powder.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/powder.c b/src/powder.c
index adb5cb7..1c06e4d 100644
--- a/src/powder.c
+++ b/src/powder.c
@@ -1638,6 +1638,7 @@ void update_particles_i(pixel *vid, int start, int inc)
hv[y/CELL][x/CELL] -= c_heat;
}
c_heat = 0.0f;
+ float c_Cm = 0.0f;
for (j=0; j<8; j++)
{
surround_hconduct[j] = i;
@@ -1650,12 +1651,14 @@ void update_particles_i(pixel *vid, int start, int inc)
&&(rt!=PT_FILT||(t!=PT_BRAY&&t!=PT_PHOT&&t!=PT_BIZR&&t!=PT_BIZRG)))
{
surround_hconduct[j] = r>>8;
- c_heat += parts[r>>8].temp;
+ c_heat += parts[r>>8].temp*96.645/ptypes[rt].hconduct*ptypes[rt].weight;
+ c_Cm += 96.645/ptypes[rt].hconduct*ptypes[rt].weight;
h_count++;
}
}
- pt = parts[i].temp = (c_heat+parts[i].temp)/(h_count+1);
+ pt = parts[i].temp = (c_heat+parts[i].temp*96.645/ptypes[t].hconduct*ptypes[t].weight)
+ /(c_Cm+96.645/ptypes[t].hconduct*ptypes[t].weight);
for (j=0; j<8; j++)
{
parts[surround_hconduct[j]].temp = pt;