From a1a0fb5c0251218cd6fb1b366f7eac6f4711efcb Mon Sep 17 00:00:00 2001 From: Simon Robertshaw Date: Tue, 12 Jun 2012 17:35:21 +0100 Subject: [PATCH] TPT: Fix for PUMP 835d6bbfb9 --- src/simulation/elements/PUMP.cpp | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/src/simulation/elements/PUMP.cpp b/src/simulation/elements/PUMP.cpp index 17b474921..2d62799ff 100644 --- a/src/simulation/elements/PUMP.cpp +++ b/src/simulation/elements/PUMP.cpp @@ -59,16 +59,12 @@ int Element_PUMP::update(UPDATE_FUNC_ARGS) if (parts[i].temp<= -256.0+273.15) parts[i].temp = -256.0+273.15; - if (sim->pv[y/CELL][x/CELL]<(parts[i].temp-273.15)) - sim->pv[y/CELL][x/CELL] += 0.1f*((parts[i].temp-273.15)-sim->pv[y/CELL][x/CELL]); - if (y+CELLpv[y/CELL+1][x/CELL]<(parts[i].temp-273.15)) - sim->pv[y/CELL+1][x/CELL] += 0.1f*((parts[i].temp-273.15)-sim->pv[y/CELL+1][x/CELL]); - if (x+CELLpv[y/CELL][x/CELL+1] += 0.1f*((parts[i].temp-273.15)-sim->pv[y/CELL][x/CELL+1]); - if (y+CELLpv[y/CELL+1][x/CELL+1] += 0.1f*((parts[i].temp-273.15)-sim->pv[y/CELL+1][x/CELL+1]); - } + for (rx=-1; rx<2; rx++) + for (ry=-1; ry<2; ry++) + if ((x+rx)-CELL>=0 && (y+ry)-CELL>0 && (x+rx)+CELLpv[(y/CELL)+ry][(x/CELL)+rx] += 0.1f*((parts[i].temp-273.15)-sim->pv[(y/CELL)+ry][(x/CELL)+rx]); + } for (rx=-2; rx<3; rx++) for (ry=-2; ry<3; ry++) if (x+rx>=0 && y+ry>0 && x+rx