diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/Make/files b/applications/solvers/heatTransfer/chtMultiRegionFoam/Make/files index 3ee71c0ea6..9d9152930a 100644 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/Make/files +++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/Make/files @@ -7,6 +7,8 @@ derivedFvPatchFields/solidWallHeatFluxTemperatureCoupled/solidWallHeatFluxTemper derivedFvPatchFields/solidWallTemperatureCoupled/solidWallTemperatureCoupledFvPatchScalarField.C derivedFvPatchFields/solidWallMixedTemperatureCoupled/solidWallMixedTemperatureCoupledFvPatchScalarField.C +fluid/compressibleCourantNo.C + chtMultiRegionFoam.C EXE = $(FOAM_APPBIN)/chtMultiRegionFoam diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionFoam.C b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionFoam.C index dad472930c..84c7c11806 100644 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionFoam.C +++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionFoam.C @@ -36,16 +36,10 @@ Description #include "turbulenceModel.H" #include "fixedGradientFvPatchFields.H" #include "regionProperties.H" +#include "compressibleCourantNo.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#include "solveContinuityEquation.C" -#include "solveMomentumEquation.C" -#include "compressibleContinuityErrors.C" -#include "solvePressureDifferenceEquation.C" -#include "solveEnthalpyEquation.C" -#include "compressibleCourantNo.C" - int main(int argc, char *argv[]) { @@ -58,7 +52,6 @@ int main(int argc, char *argv[]) # include "createSolidMeshes.H" # include "createFluidFields.H" - # include "createSolidFields.H" # include "initContinuityErrs.H" @@ -89,6 +82,7 @@ int main(int argc, char *argv[]) { Info<< "\nSolving for fluid region " << fluidRegions[i].name() << endl; +# include "setRegionFluidFields.H" # include "readFluidMultiRegionPISOControls.H" # include "solveFluid.H" } @@ -97,6 +91,7 @@ int main(int argc, char *argv[]) { Info<< "\nSolving for solid region " << solidRegions[i].name() << endl; +# include "setRegionSolidFields.H" # include "readSolidMultiRegionPISOControls.H" # include "solveSolid.H" } diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/UEqn.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/UEqn.H index ba3d099a9f..16be7c1ed2 100644 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/UEqn.H +++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/UEqn.H @@ -1,10 +1,14 @@ - tmp UEqn = solveMomentumEquation + // Solve the Momentum equation + tmp UEqn ( - momentumPredictor, - Uf[i], - rhof[i], - phif[i], - pdf[i], - ghf[i], - turb[i] + fvm::ddt(rho, U) + + fvm::div(phi, U) + + turb.divDevRhoReff(U) ); + + UEqn().relax(); + + if (momentumPredictor) + { + solve(UEqn() == -fvc::grad(pd) - fvc::grad(rho)*gh); + } diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/compressibleContinuityErrors.C b/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/compressibleContinuityErrors.C deleted file mode 100644 index 9cf6446aa0..0000000000 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/compressibleContinuityErrors.C +++ /dev/null @@ -1,58 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd. - \\/ M anipulation | -------------------------------------------------------------------------------- -License - This file is part of OpenFOAM. - - OpenFOAM is free software; you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by the - Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - OpenFOAM is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - for more details. - - You should have received a copy of the GNU General Public License - along with OpenFOAM; if not, write to the Free Software Foundation, - Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - -Description - Continuity errors for fluid meshes - -\*---------------------------------------------------------------------------*/ - -void compressibleContinuityErrors -( - scalar& cumulativeContErr, - const volScalarField& rho, - const basicThermo& thermo -) -{ - dimensionedScalar totalMass = fvc::domainIntegrate(rho); - - scalar sumLocalContErr = - ( - fvc::domainIntegrate(mag(rho - thermo.rho()))/totalMass - ).value(); - - scalar globalContErr = - ( - fvc::domainIntegrate(rho - thermo.rho())/totalMass - ).value(); - - cumulativeContErr += globalContErr; - - const word& regionName = rho.mesh().name(); - - Info<< "time step continuity errors (" << regionName << ")" - << ": sum local = " << sumLocalContErr - << ", global = " << globalContErr - << ", cumulative = " << cumulativeContErr - << endl; -} diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/compressibleCourantNo.C b/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/compressibleCourantNo.C index 487fd93825..e671a256c9 100644 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/compressibleCourantNo.C +++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/compressibleCourantNo.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd. + \\ / A nd | Copyright (C) 1991-2008 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -22,13 +22,12 @@ License along with OpenFOAM; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -Description - Calculates and outputs the mean and maximum Courant Numbers for the fluid - regions - \*---------------------------------------------------------------------------*/ -scalar compressibleCourantNo +#include "compressibleCourantNo.H" +#include "fvc.H" + +Foam::scalar Foam::compressibleCourantNo ( const fvMesh& mesh, const Time& runTime, diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/createFluidFields.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/createFluidFields.H index 314b9d028a..a1fe9e2bc1 100644 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/createFluidFields.H +++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/createFluidFields.H @@ -4,7 +4,7 @@ PtrList Kf(fluidRegions.size()); PtrList Uf(fluidRegions.size()); PtrList phif(fluidRegions.size()); - PtrList turb(fluidRegions.size()); + PtrList turbulence(fluidRegions.size()); PtrList DpDtf(fluidRegions.size()); PtrList ghf(fluidRegions.size()); PtrList pdf(fluidRegions.size()); @@ -123,8 +123,8 @@ ) ); - Info<< " Adding to turb\n" << endl; - turb.set + Info<< " Adding to turbulence\n" << endl; + turbulence.set ( i, autoPtr diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/hEqn.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/hEqn.H index 301ceddfdb..d421649f13 100644 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/hEqn.H +++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/hEqn.H @@ -1,9 +1,17 @@ - solveEnthalpyEquation +{ + tmp hEqn ( - rhof[i], - DpDtf[i], - phif[i], - turb[i], - thermof[i] + fvm::ddt(rho, h) + + fvm::div(phi, h) + - fvm::laplacian(turb.alphaEff(), h) + == + DpDt ); + hEqn().relax(); + hEqn().solve(); + thermo.correct(); + + Info<< "Min/max T:" << min(thermo.T()) << ' ' << max(thermo.T()) + << endl; +} diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/pEqn.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/pEqn.H index 2b1f5fceb1..54507f0d19 100644 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/pEqn.H +++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/pEqn.H @@ -1,60 +1,70 @@ { bool closedVolume = false; - rhof[i] = thermof[i].rho(); + rho = thermo.rho(); volScalarField rUA = 1.0/UEqn().A(); - Uf[i] = rUA*UEqn().H(); + U = rUA*UEqn().H(); - phif[i] = - fvc::interpolate(rhof[i]) + phi = + fvc::interpolate(rho) *( - (fvc::interpolate(Uf[i]) & fluidRegions[i].Sf()) - + fvc::ddtPhiCorr(rUA, rhof[i], Uf[i], phif[i]) + (fvc::interpolate(U) & mesh.Sf()) + + fvc::ddtPhiCorr(rUA, rho, U, phi) ) - - fvc::interpolate(rhof[i]*rUA*ghf[i]) - *fvc::snGrad(rhof[i]) - *fluidRegions[i].magSf(); + - fvc::interpolate(rho*rUA*gh)*fvc::snGrad(rho)*mesh.magSf(); - // Solve pressure difference -# include "pdEqn.H" + for (int nonOrth=0; nonOrth<=nNonOrthCorr; nonOrth++) + { + fvScalarMatrix pdEqn + ( + fvc::ddt(rho) + + fvc::div(phi) + - fvm::laplacian(rho*rUA, pd) + ); + + if (corr == nCorr-1 && nonOrth == nNonOrthCorr) + { + pdEqn.solve(mesh.solver(pd.name() + "Final")); + } + else + { + pdEqn.solve(mesh.solver(pd.name())); + } + + if (nonOrth == nNonOrthCorr) + { + phi += pdEqn.flux(); + } + } + + // Update pressure field (including bc) + thermo.p() == pd + rho*gh + pRef; + DpDt = fvc::DDt(surfaceScalarField("phiU", phi/fvc::interpolate(rho)), p); // Solve continuity # include "rhoEqn.H" - // Update pressure field (including bc) - thermof[i].p() == pdf[i] + rhof[i]*ghf[i] + pRef; - DpDtf[i] = fvc::DDt - ( - surfaceScalarField("phiU", phif[i]/fvc::interpolate(rhof[i])), - thermof[i].p() - ); - // Update continuity errors - compressibleContinuityErrors(cumulativeContErr, rhof[i], thermof[i]); +# include "compressibleContinuityErrors.H" // Correct velocity field - Uf[i] -= rUA*(fvc::grad(pdf[i]) + fvc::grad(rhof[i])*ghf[i]); - Uf[i].correctBoundaryConditions(); + U -= rUA*(fvc::grad(pd) + fvc::grad(rho)*gh); + U.correctBoundaryConditions(); // For closed-volume cases adjust the pressure and density levels // to obey overall mass continuity if (closedVolume) { - thermof[i].p() += + thermo.p() += ( - dimensionedScalar - ( - "massIni", - dimMass, - initialMassf[i] - ) - - fvc::domainIntegrate(thermof[i].psi()*thermof[i].p()) - )/fvc::domainIntegrate(thermof[i].psi()); - pdf[i] == thermof[i].p() - (rhof[i]*ghf[i] + pRef); - rhof[i] = thermof[i].rho(); + dimensionedScalar("massIni", dimMass, initialMassf[i]) + - fvc::domainIntegrate(thermo.psi()*thermo.p()) + )/fvc::domainIntegrate(thermo.psi()); + pd == thermo.p() - (rho*gh + pRef); + rho = thermo.rho(); } // Update thermal conductivity - Kf[i] = thermof[i].Cp()*turb[i].alphaEff(); + K = thermo.Cp()*turb.alphaEff(); } diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/pdEqn.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/pdEqn.H deleted file mode 100644 index a393843256..0000000000 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/pdEqn.H +++ /dev/null @@ -1,14 +0,0 @@ - solvePressureDifferenceEquation - ( - corr, - nCorr, - nNonOrthCorr, - closedVolume, - pdf[i], - pRef, - rhof[i], - thermof[i].psi(), - rUA, - ghf[i], - phif[i] - ); diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/rhoEqn.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/rhoEqn.H index a7e2a98c4a..a6b0ac9fe1 100644 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/rhoEqn.H +++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/rhoEqn.H @@ -1 +1 @@ - solveContinuityEquation(rhof[i], phif[i]); + solve(fvm::ddt(rho) + fvc::div(phi)); diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/setInitialDeltaT.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/setInitialDeltaT.H deleted file mode 100644 index 161eb742e7..0000000000 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/setInitialDeltaT.H +++ /dev/null @@ -1,15 +0,0 @@ - if (adjustTimeStep) - { - if (CoNum > SMALL) - { - runTime.setDeltaT - ( - min - ( - maxCo*runTime.deltaT().value()/CoNum, - maxDeltaT - ) - ); - } - } - diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/solveContinuityEquation.C b/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/solveContinuityEquation.C deleted file mode 100644 index 5fe2090341..0000000000 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/solveContinuityEquation.C +++ /dev/null @@ -1,37 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd. - \\/ M anipulation | -------------------------------------------------------------------------------- -License - This file is part of OpenFOAM. - - OpenFOAM is free software; you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by the - Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - OpenFOAM is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - for more details. - - You should have received a copy of the GNU General Public License - along with OpenFOAM; if not, write to the Free Software Foundation, - Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - -Description - Solve continuity equation - -\*---------------------------------------------------------------------------*/ - -void solveContinuityEquation -( - volScalarField& rho, - const surfaceScalarField& phi -) -{ - solve(fvm::ddt(rho) + fvc::div(phi)); -} diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/solveEnthalpyEquation.C b/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/solveEnthalpyEquation.C deleted file mode 100644 index 2e9cae95ad..0000000000 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/solveEnthalpyEquation.C +++ /dev/null @@ -1,56 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd. - \\/ M anipulation | -------------------------------------------------------------------------------- -License - This file is part of OpenFOAM. - - OpenFOAM is free software; you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by the - Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - OpenFOAM is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - for more details. - - You should have received a copy of the GNU General Public License - along with OpenFOAM; if not, write to the Free Software Foundation, - Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - -Description - Solve enthalpy equation - -\*---------------------------------------------------------------------------*/ - -void solveEnthalpyEquation -( - const volScalarField& rho, - const volScalarField& DpDt, - const surfaceScalarField& phi, - const compressible::turbulenceModel& turb, - basicThermo& thermo -) -{ - volScalarField& h = thermo.h(); - - tmp hEqn - ( - fvm::ddt(rho, h) - + fvm::div(phi, h) - - fvm::laplacian(turb.alphaEff(), h) - == - DpDt - ); - hEqn().relax(); - hEqn().solve(); - - thermo.correct(); - - Info<< "Min/max T:" << min(thermo.T()) << ' ' << max(thermo.T()) - << endl; -} diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/solveFluid.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/solveFluid.H index e24771256f..19ec50cac2 100644 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/solveFluid.H +++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/solveFluid.H @@ -12,4 +12,4 @@ # include "pEqn.H" } } - turb[i].correct(); + turb.correct(); diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/solveMomentumEquation.C b/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/solveMomentumEquation.C deleted file mode 100644 index 935a02b60a..0000000000 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/solveMomentumEquation.C +++ /dev/null @@ -1,57 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd. - \\/ M anipulation | -------------------------------------------------------------------------------- -License - This file is part of OpenFOAM. - - OpenFOAM is free software; you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by the - Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - OpenFOAM is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - for more details. - - You should have received a copy of the GNU General Public License - along with OpenFOAM; if not, write to the Free Software Foundation, - Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - -Description - Solve momentum equation and return matrix for use in pressure equation - -\*---------------------------------------------------------------------------*/ - -tmp solveMomentumEquation -( - const bool momentumPredictor, - volVectorField& U, - const volScalarField& rho, - const surfaceScalarField& phi, - const volScalarField& pd, - const volScalarField& gh, - const compressible::turbulenceModel& turb -) -{ - // Solve the Momentum equation - tmp UEqn - ( - fvm::ddt(rho, U) - + fvm::div(phi, U) - + turb.divDevRhoReff(U) - ); - - UEqn().relax(); - - if (momentumPredictor) - { - solve(UEqn() == -fvc::grad(pd) - fvc::grad(rho)*gh); - } - - return UEqn; -} diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/solvePressureDifferenceEquation.C b/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/solvePressureDifferenceEquation.C deleted file mode 100644 index 6d8843ab42..0000000000 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/solvePressureDifferenceEquation.C +++ /dev/null @@ -1,73 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd. - \\/ M anipulation | -------------------------------------------------------------------------------- -License - This file is part of OpenFOAM. - - OpenFOAM is free software; you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by the - Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - OpenFOAM is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - for more details. - - You should have received a copy of the GNU General Public License - along with OpenFOAM; if not, write to the Free Software Foundation, - Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - -Description - Solve pressure difference equation - -\*---------------------------------------------------------------------------*/ - -void solvePressureDifferenceEquation -( - const label corr, - const label nCorr, - const label nNonOrthCorr, - bool& closedVolume, - volScalarField& pd, - const dimensionedScalar& pRef, - const volScalarField& rho, - const volScalarField& psi, - const volScalarField& rUA, - const volScalarField& gh, - surfaceScalarField& phi -) -{ - closedVolume = pd.needReference(); - - for (int nonOrth=0; nonOrth<=nNonOrthCorr; nonOrth++) - { - fvScalarMatrix pdEqn - ( - fvm::ddt(psi, pd) - + fvc::ddt(psi)*pRef - + fvc::ddt(psi, rho)*gh - + fvc::div(phi) - - fvm::laplacian(rho*rUA, pd) - ); - - //pdEqn.solve(); - if (corr == nCorr-1 && nonOrth == nNonOrthCorr) - { - pdEqn.solve(pd.mesh().solver(pd.name() + "Final")); - } - else - { - pdEqn.solve(pd.mesh().solver(pd.name())); - } - - if (nonOrth == nNonOrthCorr) - { - phi += pdEqn.flux(); - } - } -} diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/solid/solveSolid.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/solid/solveSolid.H index 790d4ec934..5fa731824f 100644 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/solid/solveSolid.H +++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/solid/solveSolid.H @@ -3,10 +3,9 @@ { solve ( - fvm::ddt(rhosCps[i], Ts[i]) - fvm::laplacian(Ks[i], Ts[i]) + fvm::ddt(rho*cp, T) - fvm::laplacian(K, T) ); } - Info<< "Min/max T:" << min(Ts[i]) << ' ' << max(Ts[i]) - << endl; + Info<< "Min/max T:" << min(T) << ' ' << max(T) << endl; }