summaryrefslogtreecommitdiffstats
path: root/Temparray.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Temparray.cpp')
-rw-r--r--Temparray.cpp44
1 files changed, 34 insertions, 10 deletions
diff --git a/Temparray.cpp b/Temparray.cpp
index 83008cc..83f91f0 100644
--- a/Temparray.cpp
+++ b/Temparray.cpp
@@ -122,6 +122,30 @@ void Temparray::calcTemp(){
depth = cubehole(i, j, k, l).getDepth();
innerwidth = cubehole(i, j, k, l).getInnerWidth();
innerdepth = cubehole(i, j, k, l).getInnerDepth();
+
+ if(m % 2 == 0)area = (((depth - innerdepth)/2)*((width + innerwidth)/2))
+ / 0.9 * meterperunit;
+ if(m % 2 == 1)area = (((width - innerwidth)/2)*((depth + innerdepth)/2))
+ / 0.9 * meterperunit;
+
+ if(m % 2 == 0)thermalresistance = ((depth - innerdepth)/2)
+ /0.9 * meterperunit /(conductivity * area);
+ if(m % 2 == 1)thermalresistance = ((width - innerwidth)/2)
+ /0.9 * meterperunit /(conductivity * area);
+
+ if(m % 2 == 0)capacity = specificcapacity *((((depth - innerdepth)/2)*
+ ((width + innerwidth)/2)*height)
+ / 0.9 * meterperunit);
+ if(m % 2 == 1)capacity = specificcapacity *((((width - innerwidth)/2)*
+ ((depth + innerdepth)/2)*height)
+ / 0.9 * meterperunit);
+
+ tau12 = capacity * thermalresistance;
+
+ temperaturenew(i, j, k, l, m) =
+ temperaturenew(i, j, k, l, m) - ((temperatureold(i, j, k, l, m) - probetemp)
+ *(1-exp(-(1/tau12))));
+
if(j > 0) {
width2 = cubehole(i, j-1, k, l).getWidth();
height2 = cubehole(i, j-1, k, l).getHeight();
@@ -158,10 +182,10 @@ void Temparray::calcTemp(){
temperaturenew(i, j, k, l, m) =
temperaturenew(i, j, k, l, m) - ((temperatureold(i, j, k, l, m) -
- temperatureold(i, j, k, l-1, m))*(1-exp(-(1/tau12))));
- temperaturenew(i, j, k, l-1, m) =
- temperaturenew(i, j, k, l-1, m) + ((temperatureold(i, j, k, l, m) -
- temperatureold(i, j, k, l-1, m))*(1-exp(-(1/tau21))));
+ temperatureold(i, j-1, k, l, m))*(1-exp(-(1/tau12))));
+ temperaturenew(i, j-1, k, l, m) =
+ temperaturenew(i, j-1, k, l, m) + ((temperatureold(i, j, k, l, m) -
+ temperatureold(i, j-1, k, l, m))*(1-exp(-(1/tau21))));
}
if(m == 0) {
@@ -262,7 +286,7 @@ void Temparray::calcTemp(){
if(m % 2 == 1)area = (((width - innerwidth)/2)*((depth + innerdepth)/2))
/ 0.9 * meterperunit;
- thermalresistance = 3 + (height/2 / 0.9 * meterperunit /(conductivity * area));
+ thermalresistance = (3 + height/2) / 0.9 * meterperunit /(conductivity * area);
if(m % 2 == 0)capacity = specificcapacity *((((depth - innerdepth)/2)*
((width + innerwidth)/2)*height)
@@ -314,7 +338,7 @@ void Temparray::calcTemp(){
area = (((depth + innerdepth)/2)*height) / 0.9 * meterperunit;
- thermalresistance = 3 + ((width - innerwidth)/4) / 0.9 * meterperunit /
+ thermalresistance = (3 + (width - innerwidth)/4) / 0.9 * meterperunit /
(conductivity * area);
capacity = specificcapacity *((((depth + innerdepth)/2)*((width - innerwidth)/2)*
@@ -360,7 +384,7 @@ void Temparray::calcTemp(){
area = (((width + innerwidth)/2)*height) / 0.9 * meterperunit;
- thermalresistance = 3 + ((depth - innerdepth)/4) / 0.9 * meterperunit /
+ thermalresistance = (3 + (depth - innerdepth)/4) / 0.9 * meterperunit /
(conductivity * area);
capacity = specificcapacity *((((width + innerwidth)/2)*((depth - innerdepth)/2)*
@@ -379,9 +403,9 @@ void Temparray::calcTemp(){
// std::cerr << temperaturenew(2, 2, 2, 1, 2) << std::endl;
// std::cerr << temperaturenew(2, 2, 2, 2, 2) << std::endl;
// std::cerr << temperaturenew(2, 2, 2, 3, 2) << "\n" << std::endl;
- std::cerr << " " << temperatureold(2, 2, 2, 1, 2) << std::endl;
- std::cerr << temperatureold(2, 2, 2, 2, 1) << " " << temperatureold(2, 2, 2, 2, 2) << " " << temperatureold(2, 2, 2, 2, 3) << std::endl;
- std::cerr << " " << temperatureold(2, 2, 2, 3, 2) << "\n" << std::endl;
+// std::cerr << " " << temperatureold(2, 2, 2, 1, 2) << std::endl;
+// std::cerr << temperatureold(2, 2, 2, 2, 1) << " " << temperatureold(2, 2, 2, 2, 2) << " " << temperatureold(2, 2, 2, 2, 3) << std::endl;
+// std::cerr << " " << temperatureold(2, 2, 2, 3, 2) << "\n" << std::endl;
}
std::list<Triangle> Temparray::getTriangles(){