diff options
Diffstat (limited to 'Temparray.cpp')
-rw-r--r-- | Temparray.cpp | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/Temparray.cpp b/Temparray.cpp index ddbcc25..0686ef0 100644 --- a/Temparray.cpp +++ b/Temparray.cpp @@ -154,7 +154,7 @@ void Temparray::calcTemp(){ inputpower = loadableenergy; input -= loadableenergy; } - else if (input <= loadableenergy) { + else if (input < loadableenergy) { inputpower = input; input = 0; } @@ -165,6 +165,24 @@ void Temparray::calcTemp(){ *thermalresistance*factor*(1-exp(-(1/tau12))); } } + if (input < 0){ + if(unloadableenergy <= 0) + inputpower = 0; + else if (input > unloadableenergy) { + inputpower = unloadableenergy; + input -= unloadableenergy; + } + else if (input <= unloadableenergy) { + inputpower = input; + input = 0; + } + if(inputpower > 0) { + factor = inputpower/unloadableenergy; + temperaturenew(i, j, k, l, m) = + temperaturenew(i, j, k, l, m) + (21.5-temperatureold(i, j, k, l, m)) + *thermalresistance*factor*(1-exp(-(1/tau12))); + } + } } } } |