From 8ec8f595ec23e3142a3a9c68678509f97a5f46a4 Mon Sep 17 00:00:00 2001 From: sergio <sergio> Date: Fri, 2 Nov 2012 15:42:46 +0000 Subject: [PATCH] ENH: cleaning chtMultiRegionFoam and chtMultiRegionSimpleFoam from porous fluid and solid now incorporated into fluid and solid regions --- .../chtMultiRegionFoam/chtMultiRegionFoam.C | 23 --- .../chtMultiRegionSimpleFoam/Make/options | 3 +- .../chtMultiRegionSimpleFoam.C | 22 --- .../porousFluid/UPorousFluidEqn.H | 11 -- .../porousFluid/createPorousFluidFields.H | 181 ------------------ .../porousFluid/createPorousFluidRegions.H | 25 --- .../porousFluid/hPorousFluidEqn.H | 19 -- .../porousFluid/pPorousFluidEqn.H | 53 ----- .../readPorousFluidRegionSIMPLEControls.H | 4 - .../porousFluid/setPorousFluidFields.H | 28 --- .../porousFluid/solvePorousFluid.H | 11 -- .../porousSolid/createPorousSolidFields.H | 43 ----- .../porousSolid/createPorousSolidMeshes.H | 24 --- ...readPorousSolidMultiRegionSIMPLEControls.H | 4 - .../porousSolid/setPorousRegionSolidFields.H | 23 --- .../solidPorousRegionDiffusionNo.H | 18 -- .../porousSolid/solvePorousSolid.H | 17 -- .../solid/createSolidFields.H | 20 -- .../solid/createSolidMeshes.H | 24 --- .../solid/setRegionSolidFields.H | 18 -- .../solid/solveSolid.H | 3 +- .../fluid/compressibleMultiRegionCourantNo.H | 3 +- .../porousFluid/UPorousFluidEqn.H | 24 --- .../porousFluid/createPorousFluidFields.H | 147 -------------- .../porousFluid/createPorousFluidRegions.H | 25 --- .../porousFluid/hPorousFluidEqn.H | 21 -- .../porousFluid/pPorousFluidEqn.H | 63 ------ .../readPorousFluidRegionPIMPLEControls.H | 11 -- .../porousFluid/setPorousFluidFields.H | 17 -- .../porousFluid/solvePorousFluid.H | 28 --- .../porousSolid/createPorousSolidFields.H | 43 ----- .../porousSolid/createPorousSolidMeshes.H | 24 --- ...readPorousSolidMultiRegionPIMPLEControls.H | 4 - .../porousSolid/setPorousRegionSolidFields.H | 26 --- .../solidPorousRegionDiffusionNo.H | 18 -- .../porousSolid/solvePorousSolid.H | 28 --- .../solid/createSolidFields.H | 47 +++++ .../solid/setRegionSolidFields.H | 4 + .../chtMultiRegionFoam/solid/solveSolid.H | 5 +- .../constant/regionProperties | 2 - .../constant/regionProperties | 3 +- .../constant/regionProperties | 2 - .../constant/regionProperties | 2 - .../constant/regionProperties | 2 - 44 files changed, 60 insertions(+), 1063 deletions(-) delete mode 100644 applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/porousFluid/UPorousFluidEqn.H delete mode 100644 applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/porousFluid/createPorousFluidFields.H delete mode 100644 applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/porousFluid/createPorousFluidRegions.H delete mode 100644 applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/porousFluid/hPorousFluidEqn.H delete mode 100644 applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/porousFluid/pPorousFluidEqn.H delete mode 100644 applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/porousFluid/readPorousFluidRegionSIMPLEControls.H delete mode 100644 applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/porousFluid/setPorousFluidFields.H delete mode 100644 applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/porousFluid/solvePorousFluid.H delete mode 100644 applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/porousSolid/createPorousSolidFields.H delete mode 100644 applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/porousSolid/createPorousSolidMeshes.H delete mode 100644 applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/porousSolid/readPorousSolidMultiRegionSIMPLEControls.H delete mode 100644 applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/porousSolid/setPorousRegionSolidFields.H delete mode 100644 applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/porousSolid/solidPorousRegionDiffusionNo.H delete mode 100644 applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/porousSolid/solvePorousSolid.H delete mode 100644 applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/solid/createSolidFields.H delete mode 100644 applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/solid/createSolidMeshes.H delete mode 100644 applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/solid/setRegionSolidFields.H delete mode 100644 applications/solvers/heatTransfer/chtMultiRegionFoam/porousFluid/UPorousFluidEqn.H delete mode 100644 applications/solvers/heatTransfer/chtMultiRegionFoam/porousFluid/createPorousFluidFields.H delete mode 100644 applications/solvers/heatTransfer/chtMultiRegionFoam/porousFluid/createPorousFluidRegions.H delete mode 100644 applications/solvers/heatTransfer/chtMultiRegionFoam/porousFluid/hPorousFluidEqn.H delete mode 100644 applications/solvers/heatTransfer/chtMultiRegionFoam/porousFluid/pPorousFluidEqn.H delete mode 100644 applications/solvers/heatTransfer/chtMultiRegionFoam/porousFluid/readPorousFluidRegionPIMPLEControls.H delete mode 100644 applications/solvers/heatTransfer/chtMultiRegionFoam/porousFluid/setPorousFluidFields.H delete mode 100644 applications/solvers/heatTransfer/chtMultiRegionFoam/porousFluid/solvePorousFluid.H delete mode 100644 applications/solvers/heatTransfer/chtMultiRegionFoam/porousSolid/createPorousSolidFields.H delete mode 100644 applications/solvers/heatTransfer/chtMultiRegionFoam/porousSolid/createPorousSolidMeshes.H delete mode 100644 applications/solvers/heatTransfer/chtMultiRegionFoam/porousSolid/readPorousSolidMultiRegionPIMPLEControls.H delete mode 100644 applications/solvers/heatTransfer/chtMultiRegionFoam/porousSolid/setPorousRegionSolidFields.H delete mode 100644 applications/solvers/heatTransfer/chtMultiRegionFoam/porousSolid/solidPorousRegionDiffusionNo.H delete mode 100644 applications/solvers/heatTransfer/chtMultiRegionFoam/porousSolid/solvePorousSolid.H diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionFoam.C b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionFoam.C index 557017ccad4..a0bd72c3b4b 100644 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionFoam.C +++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionFoam.C @@ -60,14 +60,9 @@ int main(int argc, char *argv[]) #include "createFluidMeshes.H" #include "createSolidMeshes.H" - #include "createPorousFluidRegions.H" - #include "createPorousSolidMeshes.H" #include "createFluidFields.H" #include "createSolidFields.H" - #include "createPorousFluidFields.H" - #include "createPorousSolidFields.H" - #include "initContinuityErrs.H" #include "readTimeControls.H" @@ -116,24 +111,6 @@ int main(int argc, char *argv[]) #include "solveFluid.H" } - forAll(porousFluidRegions, i) - { - Info<< "\nSolving for fluid porous region " - << porousFluidRegions[i].name() << endl; - #include "setPorousFluidFields.H" - #include "readPorousFluidRegionPIMPLEControls.H" - #include "solvePorousFluid.H" - } - - forAll(porousSolidRegions, i) - { - Info<< "\nSolving for porous solid region " - << porousSolidRegions[i].name() << endl; - #include "setPorousRegionSolidFields.H" - #include "readPorousSolidMultiRegionPIMPLEControls.H" - #include "solvePorousSolid.H" - } - forAll(solidRegions, i) { Info<< "\nSolving for solid region " diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/Make/options b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/Make/options index d5c1e47394a..7418bfd694e 100644 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/Make/options +++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/Make/options @@ -1,8 +1,7 @@ EXE_INC = \ -Ifluid \ -Isolid \ - -I./porousFluid \ - -I./porousSolid \ + -I../solid \ -I$(LIB_SRC)/finiteVolume/lnInclude \ -I$(LIB_SRC)/meshTools/lnInclude \ -I$(LIB_SRC)/finiteVolume/cfdTools \ diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/chtMultiRegionSimpleFoam.C b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/chtMultiRegionSimpleFoam.C index 2f4b801cb39..45861220061 100644 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/chtMultiRegionSimpleFoam.C +++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/chtMultiRegionSimpleFoam.C @@ -50,13 +50,9 @@ int main(int argc, char *argv[]) #include "createFluidMeshes.H" #include "createSolidMeshes.H" - #include "createPorousFluidRegions.H" - #include "createPorousSolidMeshes.H" #include "createFluidFields.H" #include "createSolidFields.H" - #include "createPorousFluidFields.H" - #include "createPorousSolidFields.H" #include "initContinuityErrs.H" @@ -74,24 +70,6 @@ int main(int argc, char *argv[]) #include "solveFluid.H" } - forAll(porousFluidRegions, i) - { - Info<< "\nSolving for fluid porous region " - << porousFluidRegions[i].name() << endl; - #include "setPorousFluidFields.H" - #include "readPorousFluidRegionSIMPLEControls.H" - #include "solvePorousFluid.H" - } - - forAll(porousSolidRegions, i) - { - Info<< "\nSolving for porous solid region " - << porousSolidRegions[i].name() << endl; - #include "setPorousRegionSolidFields.H" - #include "readPorousSolidMultiRegionSIMPLEControls.H" - #include "solvePorousSolid.H" - } - forAll(solidRegions, i) { Info<< "\nSolving for solid region " diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/porousFluid/UPorousFluidEqn.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/porousFluid/UPorousFluidEqn.H deleted file mode 100644 index 4c1081f5d49..00000000000 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/porousFluid/UPorousFluidEqn.H +++ /dev/null @@ -1,11 +0,0 @@ - // Solve the Momentum equation - tmp<fvVectorMatrix> porousUEqn - ( - fvm::div(porousPhi, porousU) - + turbPorous.divDevRhoReff(porousU) - + porousSources(porousRho, porousU) - ); - - porousUEqn().relax(); - - solve(porousUEqn() == -fvc::grad(porousP)); diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/porousFluid/createPorousFluidFields.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/porousFluid/createPorousFluidFields.H deleted file mode 100644 index 00762909f3f..00000000000 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/porousFluid/createPorousFluidFields.H +++ /dev/null @@ -1,181 +0,0 @@ - // Initialise porous field pointer lists - PtrList<rhoThermo> thermoPorous(porousFluidRegions.size()); - PtrList<volScalarField> rhoPorous(porousFluidRegions.size()); - PtrList<volScalarField> kappaPorous(porousFluidRegions.size()); - PtrList<volVectorField> UPorous(porousFluidRegions.size()); - PtrList<surfaceScalarField> phiPorous(porousFluidRegions.size()); - PtrList<compressible::turbulenceModel> turbulencePorous - ( - porousFluidRegions.size() - ); - PtrList<volScalarField> pPorous(porousFluidRegions.size()); - - List<scalar> initialMassFluidPorous(porousFluidRegions.size()); - List<label> pRefCellFluidPorous(porousFluidRegions.size(),0); - List<scalar> pRefValueFluidPorous(porousFluidRegions.size(),0.0); - - PtrList<dimensionedScalar> rhoMaxPorous(fluidRegions.size()); - PtrList<dimensionedScalar> rhoMinPorous(fluidRegions.size()); - - PtrList<IObasicSourceList> heatPorousSources - ( - porousFluidRegions.size() - ); - - forAll(porousFluidRegions, i) - { - Info<< "Reading fluid mesh thermophysical properties for porous " - << porousFluidRegions[i].name() << nl << endl; - - Info<< " Adding to thermoFluid porous\n" << endl; - - thermoPorous.set - ( - i, - rhoThermo::New(porousFluidRegions[i]).ptr() - ); - - Info<< " Adding to rhoPorous\n" << endl; - rhoPorous.set - ( - i, - new volScalarField - ( - IOobject - ( - "rho", - runTime.timeName(), - porousFluidRegions[i], - IOobject::NO_READ, - IOobject::AUTO_WRITE - ), - thermoPorous[i].rho() - ) - ); - - Info<< " Adding to UPorous\n" << endl; - UPorous.set - ( - i, - new volVectorField - ( - IOobject - ( - "U", - runTime.timeName(), - porousFluidRegions[i], - IOobject::MUST_READ, - IOobject::AUTO_WRITE - ), - porousFluidRegions[i] - ) - ); - - Info<< " Adding to phiPorous\n" << endl; - phiPorous.set - ( - i, - new surfaceScalarField - ( - IOobject - ( - "phi", - runTime.timeName(), - porousFluidRegions[i], - IOobject::READ_IF_PRESENT, - IOobject::AUTO_WRITE - ), - linearInterpolate(rhoPorous[i]*UPorous[i]) - & porousFluidRegions[i].Sf() - ) - ); - - Info<< " Adding turbulence to porous\n" << endl; - turbulencePorous.set - ( - i, - compressible::turbulenceModel::New - ( - rhoPorous[i], - UPorous[i], - phiPorous[i], - thermoPorous[i] - ).ptr() - ); - - Info<< " Adding to kappaFluid\n" << endl; - kappaPorous.set - ( - i, - new volScalarField - ( - IOobject - ( - "kappaPorous", - runTime.timeName(), - porousFluidRegions[i], - IOobject::NO_READ, - IOobject::NO_WRITE - ), - thermoPorous[i].Cp()*thermoPorous[i].alpha() - ) - ); - - pPorous.set - ( - i, - new volScalarField - ( - IOobject - ( - "p", - runTime.timeName(), - porousFluidRegions[i], - IOobject::MUST_READ, - IOobject::AUTO_WRITE - ), - porousFluidRegions[i] - ) - ); - - setRefCell - ( - thermoPorous[i].p(), - pPorous[i], - porousFluidRegions[i].solutionDict().subDict("SIMPLE"), - pRefCellFluidPorous[i], - pRefValueFluidPorous[i] - ); - - rhoMaxPorous.set - ( - i, - new dimensionedScalar - ( - porousFluidRegions[i].solutionDict().subDict("SIMPLE").lookup - ( - "rhoMax" - ) - ) - ); - - rhoMinPorous.set - ( - i, - new dimensionedScalar - ( - porousFluidRegions[i].solutionDict().subDict("SIMPLE").lookup - ( - "rhoMin" - ) - ) - ); - - heatPorousSources.set - ( - i, - new IObasicSourceList(porousFluidRegions[i]) - ); - } - - diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/porousFluid/createPorousFluidRegions.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/porousFluid/createPorousFluidRegions.H deleted file mode 100644 index a414d8a9724..00000000000 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/porousFluid/createPorousFluidRegions.H +++ /dev/null @@ -1,25 +0,0 @@ - const wordList porousFluidNames(rp["porousFluid"]); - - PtrList<fvMesh> porousFluidRegions(porousFluidNames.size()); - - forAll (porousFluidNames, iPorous) - { - const word porousFluidName = porousFluidNames[iPorous]; - Info<< "Create porous fluid region " << porousFluidName - << nl << endl; - - porousFluidRegions.set - ( - iPorous, - new fvMesh - ( - IOobject - ( - porousFluidName, - runTime.timeName(), - runTime, - IOobject::MUST_READ - ) - ) - ); - } diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/porousFluid/hPorousFluidEqn.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/porousFluid/hPorousFluidEqn.H deleted file mode 100644 index fcc8b054a2e..00000000000 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/porousFluid/hPorousFluidEqn.H +++ /dev/null @@ -1,19 +0,0 @@ -{ - fvScalarMatrix hPorousEqn - ( - fvm::div(porousPhi, porousH) - - fvm::laplacian(turbPorous.alphaEff(), porousH) - == - - fvc::div(porousPhi, 0.5*magSqr(porousU), "div(phi,K)") - + porousSources(porousRho, porousH) - ); - - hPorousEqn.relax(); - hPorousEqn.solve(); - - porousThermo.correct(); - - Info<< "Min/max in the porous T:" - << min(porousThermo.T()).value() << ' ' - << max(porousThermo.T()).value() << endl; -} diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/porousFluid/pPorousFluidEqn.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/porousFluid/pPorousFluidEqn.H deleted file mode 100644 index 9051805b87d..00000000000 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/porousFluid/pPorousFluidEqn.H +++ /dev/null @@ -1,53 +0,0 @@ -porousRho = porousThermo.rho(); -porousRho = max(porousRho, rhoMin); -porousRho = min(porousRho, rhoMax); -porousRho.relax(); - -volScalarField rAUPorous(1.0/porousUEqn().A()); - -porousU = rAUPorous*porousUEqn().H(); -porousUEqn.clear(); - -bool closedVolume = false; - -porousPhi = - fvc::interpolate(porousRho) - *(fvc::interpolate(porousU) & porousMesh.Sf()); - -for (int nonOrth=0; nonOrth<=nNonOrthCorr; nonOrth++) -{ - fvScalarMatrix pEqn - ( - fvm::laplacian(porousRho*rAUPorous, porousP) == fvc::div(porousPhi) - ); - - pEqn.setReference(pRefCell, pRefValue); - - pEqn.solve(); - - if (nonOrth == nNonOrthCorr) - { - porousPhi -= pEqn.flux(); - - } -} - -porousP.relax(); - -porousU -= rAUPorous*fvc::grad(porousP); -porousU.correctBoundaryConditions(); - -if (closedVolume) -{ - porousP += (initialMass - fvc::domainIntegrate(porousPsi*porousP)) - /fvc::domainIntegrate(porousPsi); -} - -porousRho = porousThermo.rho(); -porousRho = max(porousRho, rhoMin); -porousRho = min(porousRho, rhoMax); -porousRho.relax(); - -Info<< "rho max/min : " - << max(porousRho).value() << " " - << min(porousRho).value() << endl; diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/porousFluid/readPorousFluidRegionSIMPLEControls.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/porousFluid/readPorousFluidRegionSIMPLEControls.H deleted file mode 100644 index 615524b0755..00000000000 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/porousFluid/readPorousFluidRegionSIMPLEControls.H +++ /dev/null @@ -1,4 +0,0 @@ - const dictionary& simple = porousMesh.solutionDict().subDict("SIMPLE"); - - const int nNonOrthCorr = - simple.lookupOrDefault<int>("nNonOrthogonalCorrectors", 0); diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/porousFluid/setPorousFluidFields.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/porousFluid/setPorousFluidFields.H deleted file mode 100644 index 5b3d004372a..00000000000 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/porousFluid/setPorousFluidFields.H +++ /dev/null @@ -1,28 +0,0 @@ - const fvMesh& porousMesh = porousFluidRegions[i]; - - rhoThermo& porousThermo = thermoPorous[i]; - volScalarField& porousRho = rhoPorous[i]; - - volVectorField& porousU = UPorous[i]; - surfaceScalarField& porousPhi = phiPorous[i]; - - compressible::turbulenceModel& turbPorous = turbulencePorous[i]; - - volScalarField& porousP = porousThermo.p(); - const volScalarField& porousPsi = porousThermo.psi(); - volScalarField& porousH = porousThermo.he(); - - const dimensionedScalar initialMass - ( - "initialMass", - dimMass, - initialMassFluidPorous[i] - ); - - IObasicSourceList& porousSources = heatPorousSources[i]; - - const label pRefCell = pRefCellFluidPorous[i]; - const scalar pRefValue = pRefValueFluidPorous[i]; - - const scalar rhoMax = rhoMaxPorous[i].value(); - const scalar rhoMin = rhoMinPorous[i].value(); diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/porousFluid/solvePorousFluid.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/porousFluid/solvePorousFluid.H deleted file mode 100644 index 635b3ef1546..00000000000 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/porousFluid/solvePorousFluid.H +++ /dev/null @@ -1,11 +0,0 @@ -// Pressure-velocity SIMPLE corrector - - porousP.storePrevIter(); - porousRho.storePrevIter(); - { - #include "UPorousFluidEqn.H" - #include "hPorousFluidEqn.H" - #include "pPorousFluidEqn.H" - } - - turbPorous.correct(); diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/porousSolid/createPorousSolidFields.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/porousSolid/createPorousSolidFields.H deleted file mode 100644 index ab7ed249356..00000000000 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/porousSolid/createPorousSolidFields.H +++ /dev/null @@ -1,43 +0,0 @@ - // Initialise solid field pointer lists - PtrList<solidThermo> porousSolidThermos(porousSolidRegions.size()); - PtrList<IObasicSourceList> solidHeatSources(porousSolidRegions.size()); - PtrList<volScalarField> betavSolid(porousSolidRegions.size()); - - // Populate solid field pointer lists - forAll(porousSolidRegions, i) - { - Info<< "*** Reading porous solid mesh thermophysical " - << "properties for region " - << porousSolidRegions[i].name() << nl << endl; - - Info<< " Adding to thermos\n" << endl; - porousSolidThermos.set - ( - i, - solidThermo::New(porousSolidRegions[i]) - ); - Info<< " Adding sources\n" << endl; - solidHeatSources.set - ( - i, - new IObasicSourceList(porousSolidRegions[i]) - ); - - Info<< " Adding to betavSolid\n" << endl; - betavSolid.set - ( - i, - new volScalarField - ( - IOobject - ( - "betavSolid", - runTime.timeName(), - porousSolidRegions[i], - IOobject::MUST_READ, - IOobject::AUTO_WRITE - ), - porousSolidRegions[i] - ) - ); - } diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/porousSolid/createPorousSolidMeshes.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/porousSolid/createPorousSolidMeshes.H deleted file mode 100644 index fa61f55af4f..00000000000 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/porousSolid/createPorousSolidMeshes.H +++ /dev/null @@ -1,24 +0,0 @@ - const wordList porousSolidNames(rp["porousSolid"]); - - PtrList<fvMesh> porousSolidRegions(porousSolidNames.size()); - - forAll(porousSolidNames, i) - { - Info<< "Create solid mesh for region " << porousSolidNames[i] - << " for time = " << runTime.timeName() << nl << endl; - - porousSolidRegions.set - ( - i, - new fvMesh - ( - IOobject - ( - porousSolidNames[i], - runTime.timeName(), - runTime, - IOobject::MUST_READ - ) - ) - ); - } diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/porousSolid/readPorousSolidMultiRegionSIMPLEControls.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/porousSolid/readPorousSolidMultiRegionSIMPLEControls.H deleted file mode 100644 index 4255ceb0334..00000000000 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/porousSolid/readPorousSolidMultiRegionSIMPLEControls.H +++ /dev/null @@ -1,4 +0,0 @@ - const dictionary& simple = mesh.solutionDict().subDict("SIMPLE"); - - const int nNonOrthCorr = - simple.lookupOrDefault<int>("nNonOrthogonalCorrectors", 0); diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/porousSolid/setPorousRegionSolidFields.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/porousSolid/setPorousRegionSolidFields.H deleted file mode 100644 index 93378bed004..00000000000 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/porousSolid/setPorousRegionSolidFields.H +++ /dev/null @@ -1,23 +0,0 @@ - const fvMesh& mesh = porousSolidRegions[i]; - - solidThermo& thermo = porousSolidThermos[i]; - const volScalarField& betav = betavSolid[i]; - - tmp<volScalarField> trho = thermo.rho(); - const volScalarField& rho = trho(); - - tmp<volScalarField> tcp = thermo.Cp(); - const volScalarField& cp = tcp(); - - tmp<volScalarField> tkappa = thermo.kappa(); - //tmp<volSymmTensorField> tkappa = thermo.directionalKappa()*betav; - - const volScalarField& kappa = tkappa(); - //const volSymmTensorField& K = tK(); - - tmp<volScalarField> talpha = thermo.alpha(); - const volScalarField& alpha = talpha(); - - volScalarField& h = thermo.he(); - - IObasicSourceList& sources = solidHeatSources[i]; diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/porousSolid/solidPorousRegionDiffusionNo.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/porousSolid/solidPorousRegionDiffusionNo.H deleted file mode 100644 index 77dc6f04bf4..00000000000 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/porousSolid/solidPorousRegionDiffusionNo.H +++ /dev/null @@ -1,18 +0,0 @@ - scalar DiNum = -GREAT; - - forAll(solidRegions, i) - { -# include "setRegionSolidFields.H" - - DiNum = max - ( - solidRegionDiffNo - ( - solidRegions[i], - runTime, - rho*cp, - K - ), - DiNum - ); - } diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/porousSolid/solvePorousSolid.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/porousSolid/solvePorousSolid.H deleted file mode 100644 index 6546d4235d1..00000000000 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/porousSolid/solvePorousSolid.H +++ /dev/null @@ -1,17 +0,0 @@ -{ - for (int nonOrth=0; nonOrth<=nNonOrthCorr; nonOrth++) - { - tmp<fvScalarMatrix> hEqn - ( - - fvm::laplacian(betav*alpha, h, "laplacian(alpha,h)") - + sources(rho, h) - ); - - hEqn().relax(); - hEqn().solve(); - } -} - -thermo.correct(); - -Info<< "Min/max T:" << min(thermo.T()) << ' ' << max(thermo.T()) << endl; diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/solid/createSolidFields.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/solid/createSolidFields.H deleted file mode 100644 index b435b88d7fc..00000000000 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/solid/createSolidFields.H +++ /dev/null @@ -1,20 +0,0 @@ - // Initialise solid field pointer lists - PtrList<solidThermo> thermos(solidRegions.size()); - PtrList<radiation::radiationModel> radiations(solidRegions.size()); - - // Populate solid field pointer lists - forAll(solidRegions, i) - { - Info<< "*** Reading solid mesh thermophysical properties for region " - << solidRegions[i].name() << nl << endl; - - Info<< " Adding to thermos\n" << endl; - thermos.set - ( - i, - solidThermo::New(solidRegions[i]) - ); - - Info<< " Adding to radiations\n" << endl; - radiations.set(i, radiation::radiationModel::New(thermos[i].T())); - } diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/solid/createSolidMeshes.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/solid/createSolidMeshes.H deleted file mode 100644 index f2f2eea5ae8..00000000000 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/solid/createSolidMeshes.H +++ /dev/null @@ -1,24 +0,0 @@ - const wordList solidsNames(rp["solid"]); - - PtrList<fvMesh> solidRegions(solidsNames.size()); - - forAll(solidsNames, i) - { - Info<< "Create solid mesh for region " << solidsNames[i] - << " for time = " << runTime.timeName() << nl << endl; - - solidRegions.set - ( - i, - new fvMesh - ( - IOobject - ( - solidsNames[i], - runTime.timeName(), - runTime, - IOobject::MUST_READ - ) - ) - ); - } diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/solid/setRegionSolidFields.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/solid/setRegionSolidFields.H deleted file mode 100644 index 78c937d29e1..00000000000 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/solid/setRegionSolidFields.H +++ /dev/null @@ -1,18 +0,0 @@ - fvMesh& mesh = solidRegions[i]; - solidThermo& thermo = thermos[i]; - const radiation::radiationModel& radiation = radiations[i]; - - tmp<volScalarField> trho = thermo.rho(); - const volScalarField& rho = trho(); - - tmp<volScalarField> tcp = thermo.Cp(); - const volScalarField& cp = tcp(); - - tmp<volScalarField> tkappa = thermo.kappa(); - //tmp<volSymmTensorField> tkappa = thermo.directionalkappa(); - const volScalarField& kappa = tkappa(); - - tmp<volScalarField> talpha = thermo.alpha(); - const volScalarField& alpha = talpha(); - - volScalarField& h = thermo.he(); diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/solid/solveSolid.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/solid/solveSolid.H index bbbe98ca9ce..a0905d3e4fd 100644 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/solid/solveSolid.H +++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/solid/solveSolid.H @@ -3,7 +3,8 @@ { fvScalarMatrix hEqn ( - -fvm::laplacian(alpha, h) + - fvm::laplacian(betav*alpha, h, "laplacian(alpha,h)") + + sources(rho, h) ); hEqn.relax(); hEqn.solve(); diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/compressibleMultiRegionCourantNo.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/compressibleMultiRegionCourantNo.H index 313a11a9c99..fa5feefbb4b 100644 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/compressibleMultiRegionCourantNo.H +++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/compressibleMultiRegionCourantNo.H @@ -14,7 +14,7 @@ CoNum ); } - +/* forAll (porousFluidRegions, porousI) { CoNum = max @@ -29,3 +29,4 @@ CoNum ); } +*/ \ No newline at end of file diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/porousFluid/UPorousFluidEqn.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/porousFluid/UPorousFluidEqn.H deleted file mode 100644 index 2de604e0b0d..00000000000 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/porousFluid/UPorousFluidEqn.H +++ /dev/null @@ -1,24 +0,0 @@ - -// Solve the Momentum equation - tmp<fvVectorMatrix> porousUEqn - ( - fvm::ddt(porousRho, porousU) - + fvm::div(porousPhi, porousU) - + turbPorous.divDevRhoReff(porousU) - + porousSources(porousRho, porousU) - ); - - porousUEqn().relax(); - - volScalarField rAUPorous(1.0/porousUEqn().A()); - - if (momentumPredictor) - { - solve(porousUEqn() == -fvc::grad(porousP)); - } - else - { - porousU = rAUPorous*(porousUEqn().H() - fvc::grad(porousP)); - porousU.correctBoundaryConditions(); - } - diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/porousFluid/createPorousFluidFields.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/porousFluid/createPorousFluidFields.H deleted file mode 100644 index 7880fe21ba9..00000000000 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/porousFluid/createPorousFluidFields.H +++ /dev/null @@ -1,147 +0,0 @@ - // Initialise porous field pointer lists - PtrList<rhoThermo> thermoPorous(porousFluidRegions.size()); - PtrList<volScalarField> rhoPorous(porousFluidRegions.size()); - PtrList<volVectorField> UPorous(porousFluidRegions.size()); - PtrList<surfaceScalarField> phiPorous(porousFluidRegions.size()); - PtrList<volScalarField> KPorous(porousFluidRegions.size()); - PtrList<volScalarField> dpdtPorous(fluidRegions.size()); - - PtrList<compressible::turbulenceModel> turbulencePorous - ( - porousFluidRegions.size() - ); - PtrList<volScalarField> pPorous(porousFluidRegions.size()); - - PtrList<IObasicSourceList> heatPorousSources - ( - porousFluidRegions.size() - ); - - forAll(porousFluidRegions, i) - { - Info<< "Reading fluid mesh thermophysical properties for porous " - << porousFluidRegions[i].name() << nl << endl; - - Info<< " Adding to thermoFluid porous\n" << endl; - - thermoPorous.set - ( - i, - rhoThermo::New(porousFluidRegions[i]).ptr() - ); - - Info<< " Adding to rhoPorous\n" << endl; - rhoPorous.set - ( - i, - new volScalarField - ( - IOobject - ( - "rho", - runTime.timeName(), - porousFluidRegions[i], - IOobject::NO_READ, - IOobject::AUTO_WRITE - ), - thermoPorous[i].rho() - ) - ); - - Info<< " Adding to UPorous\n" << endl; - UPorous.set - ( - i, - new volVectorField - ( - IOobject - ( - "U", - runTime.timeName(), - porousFluidRegions[i], - IOobject::MUST_READ, - IOobject::AUTO_WRITE - ), - porousFluidRegions[i] - ) - ); - - Info<< " Adding to phiPorous\n" << endl; - phiPorous.set - ( - i, - new surfaceScalarField - ( - IOobject - ( - "phi", - runTime.timeName(), - porousFluidRegions[i], - IOobject::READ_IF_PRESENT, - IOobject::AUTO_WRITE - ), - linearInterpolate(rhoPorous[i]*UPorous[i]) - & porousFluidRegions[i].Sf() - ) - ); - - Info<< " Adding turbulence to porous\n" << endl; - turbulencePorous.set - ( - i, - compressible::turbulenceModel::New - ( - rhoPorous[i], - UPorous[i], - phiPorous[i], - thermoPorous[i] - ).ptr() - ); - - Info<< " Adding to KPorous\n" << endl; - KPorous.set - ( - i, - new volScalarField - ( - "KPorous", - 0.5*magSqr(UPorous[i]) - ) - ); - - Info<< " Adding to dpdtPorous\n" << endl; - dpdtPorous.set - ( - i, - new volScalarField - ( - "dpdtPorous", - fvc::ddt(thermoPorous[i].p()) - ) - ); - - pPorous.set - ( - i, - new volScalarField - ( - IOobject - ( - "p", - runTime.timeName(), - porousFluidRegions[i], - IOobject::MUST_READ, - IOobject::AUTO_WRITE - ), - porousFluidRegions[i] - ) - ); - - heatPorousSources.set - ( - i, - new IObasicSourceList(porousFluidRegions[i]) - ); - } - - diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/porousFluid/createPorousFluidRegions.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/porousFluid/createPorousFluidRegions.H deleted file mode 100644 index a414d8a9724..00000000000 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/porousFluid/createPorousFluidRegions.H +++ /dev/null @@ -1,25 +0,0 @@ - const wordList porousFluidNames(rp["porousFluid"]); - - PtrList<fvMesh> porousFluidRegions(porousFluidNames.size()); - - forAll (porousFluidNames, iPorous) - { - const word porousFluidName = porousFluidNames[iPorous]; - Info<< "Create porous fluid region " << porousFluidName - << nl << endl; - - porousFluidRegions.set - ( - iPorous, - new fvMesh - ( - IOobject - ( - porousFluidName, - runTime.timeName(), - runTime, - IOobject::MUST_READ - ) - ) - ); - } diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/porousFluid/hPorousFluidEqn.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/porousFluid/hPorousFluidEqn.H deleted file mode 100644 index 6bf05649669..00000000000 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/porousFluid/hPorousFluidEqn.H +++ /dev/null @@ -1,21 +0,0 @@ -{ - fvScalarMatrix hPorousEqn - ( - fvm::ddt(porousRho, porousH) - + fvm::div(porousPhi, porousH) - - fvm::laplacian(turbPorous.alphaEff(), porousH) - == - porousdpdt - - (fvc::ddt(porousRho, porousK) + fvc::div(porousPhi, porousK)) - + porousSources(porousRho, porousH) - ); - - hPorousEqn.relax(); - hPorousEqn.solve(); - - porousThermo.correct(); - - Info<< "Min/max in the porous T:" - << min(porousThermo.T()).value() << ' ' - << max(porousThermo.T()).value() << endl; -} diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/porousFluid/pPorousFluidEqn.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/porousFluid/pPorousFluidEqn.H deleted file mode 100644 index 4257680be35..00000000000 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/porousFluid/pPorousFluidEqn.H +++ /dev/null @@ -1,63 +0,0 @@ -porousRho = porousThermo.rho(); - -porousU = rAUPorous*porousUEqn().H(); - -if (nCorr <= 1) -{ - porousUEqn.clear(); -} - -porousPhi = - fvc::interpolate(porousRho)* - ( - (fvc::interpolate(porousU) & porousMesh.Sf()) - + fvc::ddtPhiCorr(rAUPorous, porousRho, porousU, porousPhi) - ); - -for (int nonOrth=0; nonOrth<=nNonOrthCorr; nonOrth++) -{ - // Pressure corrector - fvScalarMatrix pEqn - ( - fvm::ddt(porousPsi, porousP) - + fvc::div(porousPhi) - - fvm::laplacian(porousRho*rAUPorous, porousP) - ); - - pEqn.solve - ( - porousMesh.solver - ( - porousP.select - ( - oCorr == nOuterCorr-1 - && corr == nCorr-1 - && nonOrth == nNonOrthCorr - ) - ) - ); - - if (nonOrth == nNonOrthCorr) - { - porousPhi += pEqn.flux(); - } -} - -solve(fvm::ddt(porousRho) + fvc::div(porousPhi)); - -// Explicitly relax pressure for momentum corrector -porousP.relax(); - -// Recalculate density from the relaxed pressure -porousRho = porousThermo.rho(); - - -porousU -= rAUPorous*fvc::grad(porousP); -porousU.correctBoundaryConditions(); -porousK = 0.5*magSqr(porousU); - -// Update pressure time derivative if needed -if (porousThermo.dpdt()) -{ - porousdpdt = fvc::ddt(porousP); -} diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/porousFluid/readPorousFluidRegionPIMPLEControls.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/porousFluid/readPorousFluidRegionPIMPLEControls.H deleted file mode 100644 index 395ee383eb2..00000000000 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/porousFluid/readPorousFluidRegionPIMPLEControls.H +++ /dev/null @@ -1,11 +0,0 @@ - const dictionary& pimple = porousMesh.solutionDict().subDict("PIMPLE"); - - const int nCorr = - pimple.lookupOrDefault<int>("nCorrectors", 1); - - const int nNonOrthCorr = - pimple.lookupOrDefault<int>("nNonOrthogonalCorrectors", 0); - - const bool momentumPredictor = - pimple.lookupOrDefault("momentumPredictor", true); - diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/porousFluid/setPorousFluidFields.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/porousFluid/setPorousFluidFields.H deleted file mode 100644 index 36b7b231ffb..00000000000 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/porousFluid/setPorousFluidFields.H +++ /dev/null @@ -1,17 +0,0 @@ - fvMesh& porousMesh = porousFluidRegions[i]; - - rhoThermo& porousThermo = thermoPorous[i]; - volScalarField& porousRho = rhoPorous[i]; - - volVectorField& porousU = UPorous[i]; - surfaceScalarField& porousPhi = phiPorous[i]; - - compressible::turbulenceModel& turbPorous = turbulencePorous[i]; - volScalarField& porousK = KPorous[i]; - volScalarField& porousdpdt = dpdtPorous[i]; - - volScalarField& porousP = porousThermo.p(); - const volScalarField& porousPsi = porousThermo.psi(); - volScalarField& porousH = porousThermo.he(); - - IObasicSourceList& porousSources = heatPorousSources[i]; diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/porousFluid/solvePorousFluid.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/porousFluid/solvePorousFluid.H deleted file mode 100644 index d0f9168b86e..00000000000 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/porousFluid/solvePorousFluid.H +++ /dev/null @@ -1,28 +0,0 @@ -if (finalIter) -{ - porousMesh.data::add("finalIteration", true); -} - -if (oCorr == 0) -{ - solve(fvm::ddt(porousRho) + fvc::div(porousPhi)); -} - -#include "UPorousFluidEqn.H" - -#include "hPorousFluidEqn.H" - -// --- PISO loop -for (int corr=0; corr<nCorr; corr++) -{ - #include "pPorousFluidEqn.H" -} - -turbPorous.correct(); - -porousRho = porousThermo.rho(); - -if (finalIter) -{ - porousMesh.data::remove("finalIteration"); -} diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/porousSolid/createPorousSolidFields.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/porousSolid/createPorousSolidFields.H deleted file mode 100644 index ab7ed249356..00000000000 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/porousSolid/createPorousSolidFields.H +++ /dev/null @@ -1,43 +0,0 @@ - // Initialise solid field pointer lists - PtrList<solidThermo> porousSolidThermos(porousSolidRegions.size()); - PtrList<IObasicSourceList> solidHeatSources(porousSolidRegions.size()); - PtrList<volScalarField> betavSolid(porousSolidRegions.size()); - - // Populate solid field pointer lists - forAll(porousSolidRegions, i) - { - Info<< "*** Reading porous solid mesh thermophysical " - << "properties for region " - << porousSolidRegions[i].name() << nl << endl; - - Info<< " Adding to thermos\n" << endl; - porousSolidThermos.set - ( - i, - solidThermo::New(porousSolidRegions[i]) - ); - Info<< " Adding sources\n" << endl; - solidHeatSources.set - ( - i, - new IObasicSourceList(porousSolidRegions[i]) - ); - - Info<< " Adding to betavSolid\n" << endl; - betavSolid.set - ( - i, - new volScalarField - ( - IOobject - ( - "betavSolid", - runTime.timeName(), - porousSolidRegions[i], - IOobject::MUST_READ, - IOobject::AUTO_WRITE - ), - porousSolidRegions[i] - ) - ); - } diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/porousSolid/createPorousSolidMeshes.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/porousSolid/createPorousSolidMeshes.H deleted file mode 100644 index fa61f55af4f..00000000000 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/porousSolid/createPorousSolidMeshes.H +++ /dev/null @@ -1,24 +0,0 @@ - const wordList porousSolidNames(rp["porousSolid"]); - - PtrList<fvMesh> porousSolidRegions(porousSolidNames.size()); - - forAll(porousSolidNames, i) - { - Info<< "Create solid mesh for region " << porousSolidNames[i] - << " for time = " << runTime.timeName() << nl << endl; - - porousSolidRegions.set - ( - i, - new fvMesh - ( - IOobject - ( - porousSolidNames[i], - runTime.timeName(), - runTime, - IOobject::MUST_READ - ) - ) - ); - } diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/porousSolid/readPorousSolidMultiRegionPIMPLEControls.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/porousSolid/readPorousSolidMultiRegionPIMPLEControls.H deleted file mode 100644 index e23883c5fae..00000000000 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/porousSolid/readPorousSolidMultiRegionPIMPLEControls.H +++ /dev/null @@ -1,4 +0,0 @@ - const dictionary& pimple = mesh.solutionDict().subDict("PIMPLE"); - - int nNonOrthCorr = - pimple.lookupOrDefault<int>("nNonOrthogonalCorrectors", 0); diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/porousSolid/setPorousRegionSolidFields.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/porousSolid/setPorousRegionSolidFields.H deleted file mode 100644 index 6a61baae029..00000000000 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/porousSolid/setPorousRegionSolidFields.H +++ /dev/null @@ -1,26 +0,0 @@ - fvMesh& mesh = porousSolidRegions[i]; - - solidThermo& thermo = porousSolidThermos[i]; - const volScalarField& betav = betavSolid[i]; - - tmp<volScalarField> trho = thermo.rho(); - const volScalarField& rho = trho(); - - tmp<volScalarField> tcp = thermo.Cp(); - const volScalarField& cp = tcp(); - - tmp<volScalarField> tkappa = thermo.kappa(); - //tmp<volSymmTensorField> tkappa = thermo.directionalKappa()*betav; - - const volScalarField& kappa = tkappa(); - //const volSymmTensorField& K = tK(); - - //tmp<volScalarField> trhoCp = cp*rho; - //const volScalarField& rhoCp = trhoCp(); - - tmp<volScalarField> talpha = thermo.alpha(); - const volScalarField& alpha = talpha(); - - volScalarField& h = thermo.he(); - - IObasicSourceList& sources = solidHeatSources[i]; diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/porousSolid/solidPorousRegionDiffusionNo.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/porousSolid/solidPorousRegionDiffusionNo.H deleted file mode 100644 index 77dc6f04bf4..00000000000 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/porousSolid/solidPorousRegionDiffusionNo.H +++ /dev/null @@ -1,18 +0,0 @@ - scalar DiNum = -GREAT; - - forAll(solidRegions, i) - { -# include "setRegionSolidFields.H" - - DiNum = max - ( - solidRegionDiffNo - ( - solidRegions[i], - runTime, - rho*cp, - K - ), - DiNum - ); - } diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/porousSolid/solvePorousSolid.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/porousSolid/solvePorousSolid.H deleted file mode 100644 index 4a0b390555f..00000000000 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/porousSolid/solvePorousSolid.H +++ /dev/null @@ -1,28 +0,0 @@ -if (finalIter) -{ - mesh.data::add("finalIteration", true); -} - -{ - for (int nonOrth=0; nonOrth<=nNonOrthCorr; nonOrth++) - { - tmp<fvScalarMatrix> hEqn - ( - fvm::ddt(betav*rho, h) - - fvm::laplacian(betav*alpha, h, "laplacian(alpha,h)") - + sources(rho, h) - ); - - hEqn().relax(); - hEqn().solve(mesh.solver(h.select(finalIter))); - } -} - -thermo.correct(); - -Info<< "Min/max T:" << min(thermo.T()) << ' ' << max(thermo.T()) << endl; - -if (finalIter) -{ - mesh.data::remove("finalIteration"); -} diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/solid/createSolidFields.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/solid/createSolidFields.H index 2a543a4d6f1..8edfe413bbb 100644 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/solid/createSolidFields.H +++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/solid/createSolidFields.H @@ -1,6 +1,8 @@ // Initialise solid field pointer lists PtrList<solidThermo> thermos(solidRegions.size()); PtrList<radiation::radiationModel> radiations(solidRegions.size()); + PtrList<IObasicSourceList> solidHeatSources(solidRegions.size()); + PtrList<volScalarField> betavSolid(solidRegions.size()); // Populate solid field pointer lists forAll(solidRegions, i) @@ -13,4 +15,49 @@ Info<< " Adding to radiations\n" << endl; radiations.set(i, radiation::radiationModel::New(thermos[i].T())); + + Info<< " Adding sources\n" << endl; + solidHeatSources.set + ( + i, + new IObasicSourceList(solidRegions[i]) + ); + + IOobject betavSolidIO + ( + "betavSolid", + runTime.timeName(), + solidRegions[i], + IOobject::MUST_READ, + IOobject::AUTO_WRITE + ); + + if (betavSolidIO.headerOk()) + { + betavSolid.set + ( + i, + new volScalarField(betavSolidIO, solidRegions[i]) + ); + } + else + { + betavSolid.set + ( + i, + new volScalarField + ( + IOobject + ( + "betavSolid", + runTime.timeName(), + solidRegions[i], + IOobject::NO_READ, + IOobject::NO_WRITE + ), + solidRegions[i], + dimensionedScalar("1", dimless, scalar(1.0)) + ) + ); + } } diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/solid/setRegionSolidFields.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/solid/setRegionSolidFields.H index 788383e5ecb..7e95615b14e 100644 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/solid/setRegionSolidFields.H +++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/solid/setRegionSolidFields.H @@ -14,3 +14,7 @@ const volScalarField& kappa = tkappa(); volScalarField& h = thermo.he(); + + const volScalarField& betav = betavSolid[i]; + + IObasicSourceList& sources = solidHeatSources[i]; diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/solid/solveSolid.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/solid/solveSolid.H index 007be97b891..a04750cf17a 100644 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/solid/solveSolid.H +++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/solid/solveSolid.H @@ -8,8 +8,9 @@ if (finalIter) { tmp<fvScalarMatrix> hEqn ( - fvm::ddt(rho, h) - - fvm::laplacian(alpha, h) + fvm::ddt(betav*rho, h) + - fvm::laplacian(betav*alpha, h, "laplacian(alpha,h)") + + sources(rho, h) ); hEqn().relax(); hEqn().solve(mesh.solver(h.select(finalIter))); diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/regionProperties b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/regionProperties index dc0d1417d50..8e1fe39d2c7 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/regionProperties +++ b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/regionProperties @@ -19,8 +19,6 @@ regions ( fluid (bottomAir topAir) solid (heater leftSolid rightSolid) - porousFluid () - porousSolid () ); // ************************************************************************* // diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionLiquidHeater/constant/regionProperties b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionLiquidHeater/constant/regionProperties index d76684c2cdd..59cff17f3fd 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionLiquidHeater/constant/regionProperties +++ b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionLiquidHeater/constant/regionProperties @@ -19,8 +19,7 @@ regions ( fluid (bottomWater topAir) solid (heater leftSolid rightSolid) - porousFluid () - porousSolid () + ); // ************************************************************************* // diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/constant/regionProperties b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/constant/regionProperties index 9ca5dc857c3..1f1e965d524 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/constant/regionProperties +++ b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/constant/regionProperties @@ -19,8 +19,6 @@ regions ( fluid (bottomAir topAir) solid (heater leftSolid rightSolid) - porousFluid () - porousSolid () ); diff --git a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeater/constant/regionProperties b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeater/constant/regionProperties index dc0d1417d50..8e1fe39d2c7 100644 --- a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeater/constant/regionProperties +++ b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeater/constant/regionProperties @@ -19,8 +19,6 @@ regions ( fluid (bottomAir topAir) solid (heater leftSolid rightSolid) - porousFluid () - porousSolid () ); // ************************************************************************* // diff --git a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeaterRadiation/constant/regionProperties b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeaterRadiation/constant/regionProperties index dc0d1417d50..8e1fe39d2c7 100644 --- a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeaterRadiation/constant/regionProperties +++ b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeaterRadiation/constant/regionProperties @@ -19,8 +19,6 @@ regions ( fluid (bottomAir topAir) solid (heater leftSolid rightSolid) - porousFluid () - porousSolid () ); // ************************************************************************* // -- GitLab