--- trunk/gadget/grower.cc 2015/04/30 12:52:16 3 +++ trunk/gadget/grower.cc 2015/04/30 17:32:47 4 @@ -100,31 +100,26 @@ numGrow.AddRows(noareas, len, nullpop); //setting storage spaces for growth -// calcLengthGrowth.AddRows(noareas, len, 0.0); -// calcWeightGrowth.AddRows(noareas, len, 0.0); - _calcLengthGrowth.AddRows(noareas, len, 0.0); - _calcWeightGrowth.AddRows(noareas, len, 0.0); + calcLengthGrowth.AddRows(noareas, len, 0.0); + calcWeightGrowth.AddRows(noareas, len, 0.0); interpLengthGrowth.AddRows(noareas, otherlen, 0.0); interpWeightGrowth.AddRows(noareas, otherlen, 0.0); dummyfphi.resize(len, 0.0); - _lgrowth = new Matrix[noareas]; - _wgrowth = new Matrix[noareas]; + lgrowth = new Matrix[noareas]; + wgrowth = new Matrix[noareas]; for (i = 0; i < noareas; i++) { -// lgrowth.resize(new DoubleMatrix(maxlengthgroupgrowth + 1, otherlen, 0.0)); -// wgrowth.resize(new DoubleMatrix(maxlengthgroupgrowth + 1, otherlen, 0.0)); - _lgrowth[i] = *new Matrix(maxlengthgroupgrowth + 1, otherlen, 0.0); - _wgrowth[i] = *new Matrix(maxlengthgroupgrowth + 1, otherlen, 0.0); + lgrowth[i] = *new Matrix(maxlengthgroupgrowth + 1, otherlen, 0.0); + wgrowth[i] = *new Matrix(maxlengthgroupgrowth + 1, otherlen, 0.0); } } Grower::~Grower() { int i; - //TODO ojo - int size = sizeof(_lgrowth)/sizeof(_lgrowth[0]); + int size = sizeof(lgrowth)/sizeof(lgrowth[0]); for (i = 0; i < size; i++) { - delete &_lgrowth[i]; - delete &_wgrowth[i]; + delete &lgrowth[i]; + delete &wgrowth[i]; } delete CI; delete LgrpDiv; @@ -138,23 +133,23 @@ LgrpDiv->Print(outfile); for (area = 0; area < areas.Size(); area++) { outfile << "\tLength increase on internal area " << areas[area] << ":\n\t"; - for (i = 0; i < _calcLengthGrowth.Ncol(); i++) - outfile << sep << _calcLengthGrowth[area][i]; + for (i = 0; i < calcLengthGrowth.Ncol(); i++) + outfile << sep << calcLengthGrowth[area][i]; outfile << "\n\tWeight increase on internal area " << areas[area] << ":\n\t"; - for (i = 0; i < _calcWeightGrowth.Ncol(); i++) - outfile << sep << _calcWeightGrowth[area][i]; + for (i = 0; i < calcWeightGrowth.Ncol(); i++) + outfile << sep << calcWeightGrowth[area][i]; outfile << "\n\tDistributed length increase on internal area " << areas[area] << ":\n"; - for (i = 0; i < _lgrowth[area].Nrow(); i++) { + for (i = 0; i < lgrowth[area].Nrow(); i++) { outfile << TAB; - for (j = 0; j < _lgrowth[area].Ncol(); j++) - outfile << sep << _lgrowth[area][i][j]; + for (j = 0; j < lgrowth[area].Ncol(); j++) + outfile << sep << lgrowth[area][i][j]; outfile << endl; } outfile << "\tDistributed weight increase on internal area " << areas[area] << ":\n"; - for (i = 0; i < _wgrowth[area].Nrow(); i++) { + for (i = 0; i < wgrowth[area].Nrow(); i++) { outfile << TAB; - for (j = 0; j < _wgrowth[area].Ncol(); j++) - outfile << sep << _wgrowth[area][i][j]; + for (j = 0; j < wgrowth[area].Ncol(); j++) + outfile << sep << wgrowth[area][i][j]; outfile << endl; } } @@ -166,7 +161,6 @@ void Grower::calcGrowth(int area, const AreaClass* const Area, const TimeClass* const TimeInfo) { - this->calcGrowth(area, Area, TimeInfo, dummyfphi, dummyfphi); } @@ -175,20 +169,11 @@ const DoubleVector& FPhi, const DoubleVector& MaxCon) { int inarea = this->areaNum(area); -// growthcalc->calcGrowth(area, calcLengthGrowth[inarea], calcWeightGrowth[inarea], -// numGrow[inarea], Area, TimeInfo, FPhi, MaxCon, LgrpDiv); -// cout << "size::" << _calcLengthGrowth.Ncol() << endl; - growthcalc->calcGrowth(area, _calcLengthGrowth[inarea], _calcWeightGrowth[inarea], - numGrow[inarea], Area, TimeInfo, FPhi, MaxCon, LgrpDiv, _calcLengthGrowth.Ncol()); -// ofstream outfile; -// outfile.open("aaa", ios::out); -// _calcLengthGrowth.Print(outfile); -// int a; -// cout << "2-----------------" << endl; -// cin >> a; - //CI->interpolateLengths(interpLengthGrowth[inarea], calcLengthGrowth[inarea]); - CI->interpolateLengths(interpLengthGrowth[inarea], _calcLengthGrowth[inarea], _calcLengthGrowth.Ncol()); + growthcalc->calcGrowth(area, calcLengthGrowth[inarea], calcWeightGrowth[inarea], + numGrow[inarea], Area, TimeInfo, FPhi, MaxCon, LgrpDiv, calcLengthGrowth.Ncol()); + + CI->interpolateLengths(interpLengthGrowth[inarea], calcLengthGrowth[inarea], calcLengthGrowth.Ncol()); switch (functionnumber) { case 1: case 2: @@ -198,8 +183,7 @@ case 6: case 7: case 9: -// CI->interpolateLengths(interpWeightGrowth[inarea], calcWeightGrowth[inarea]); - CI->interpolateLengths(interpWeightGrowth[inarea], _calcWeightGrowth[inarea], _calcWeightGrowth.Ncol()); + CI->interpolateLengths(interpWeightGrowth[inarea], calcWeightGrowth[inarea], calcWeightGrowth.Ncol()); break; case 8: case 10: @@ -209,24 +193,17 @@ handle.logMessage(LOGFAIL, "Error in grower - unrecognised growth function", functionnumber); break; } -// ofstream outfile1; -// outfile1.open("aaa", ios::out); -// _calcLengthGrowth.Print(outfile1); -// cout << "-----------------" << endl; -// cin >> a; } void Grower::Reset() { int i, j, area; double factorialx, tmppart, tmpmax; -// calcLengthGrowth.setToZero(); -// calcWeightGrowth.setToZero(); - _calcLengthGrowth.setToZero(); - _calcWeightGrowth.setToZero(); + calcLengthGrowth.setToZero(); + calcWeightGrowth.setToZero(); interpLengthGrowth.setToZero(); for (area = 0; area < areas.Size(); area++) { - (_lgrowth[area]).setToZero(); + (lgrowth[area]).setToZero(); for (i = 0; i < LgrpDiv->numLengthGroups(); i++) numGrow[area][i].setToZero(); } @@ -242,7 +219,7 @@ case 9: interpWeightGrowth.setToZero(); for (area = 0; area < areas.Size(); area++) - (_wgrowth[area]).setToZero(); + (wgrowth[area]).setToZero(); break; case 8: case 10: