From b59c71a15e7cd790e83da6e1b84be3c094bba300 Mon Sep 17 00:00:00 2001 From: Will Bainbridge Date: Tue, 30 Oct 2018 15:42:56 +0000 Subject: [PATCH] chtMultiRegionFoam: Removed Qdot from top-level solver Qdot is only relevant for reacting cases, and even then it is only written out for post-processing purposes. It has been removed from chtMultiRegionFoam as this solvers' typical usage is for non-reacting simulations. If it is desired to obtain Qdot from a chtMultiRegionFoam simulation, then a better way would be to implement a function object to look up the reaction model and write it out. --- .../chtMultiRegionFoam/fluid/EEqn.H | 2 +- .../chtMultiRegionFoam/fluid/YEqn.H | 24 ++++++++++++------- .../fluid/createFluidFields.H | 20 ---------------- .../fluid/setRegionFluidFields.H | 2 -- 4 files changed, 17 insertions(+), 31 deletions(-) diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/EEqn.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/EEqn.H index ab467c50e2..7accb05971 100644 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/EEqn.H +++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/EEqn.H @@ -19,7 +19,7 @@ == rho*(U&g) + rad.Sh(thermo, he) - + Qdot + + reaction.Qdot() + fvOptions(rho, he) ); diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/YEqn.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/YEqn.H index c32c1fdab2..ef730cec6f 100644 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/YEqn.H +++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/YEqn.H @@ -16,13 +16,21 @@ if (Y.size()) { reaction.correct(); - Qdot = reaction.Qdot(); - volScalarField Yt - ( - IOobject("Yt", runTime.timeName(), mesh), - mesh, - dimensionedScalar("Yt", dimless, 0) - ); + + tmp Yt(nullptr); + + if (Y.size()) + { + Yt = tmp + ( + new volScalarField + ( + IOobject("Yt", runTime.timeName(), mesh), + mesh, + dimensionedScalar("Yt", dimless, 0) + ) + ); + } forAll(Y, i) { @@ -49,7 +57,7 @@ if (Y.size()) fvOptions.correct(Yi); Yi.max(0.0); - Yt += Yi; + Yt.ref() += Yi; } } diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/createFluidFields.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/createFluidFields.H index a38cffc637..f8f8c66382 100644 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/createFluidFields.H +++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/createFluidFields.H @@ -15,7 +15,6 @@ PtrList KFluid(fluidRegions.size()); PtrList dpdtFluid(fluidRegions.size()); PtrList::fieldTable> fieldsFluid(fluidRegions.size()); -PtrList QdotFluid(fluidRegions.size()); List initialMassFluid(fluidRegions.size()); @@ -245,25 +244,6 @@ forAll(fluidRegions, i) } fieldsFluid[i].add(thermoFluid[i].he()); - Info<< " Adding to QdotFluid\n" << endl; - QdotFluid.set - ( - i, - new volScalarField - ( - IOobject - ( - "Qdot", - runTime.timeName(), - fluidRegions[i], - IOobject::READ_IF_PRESENT, - IOobject::AUTO_WRITE - ), - fluidRegions[i], - dimensionedScalar("Qdot", dimEnergy/dimVolume/dimTime, 0.0) - ) - ); - Info<< " Adding MRF\n" << endl; MRFfluid.set ( diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/setRegionFluidFields.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/setRegionFluidFields.H index 6ef10d410e..827987963b 100644 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/setRegionFluidFields.H +++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/setRegionFluidFields.H @@ -43,8 +43,6 @@ multivariateSurfaceInterpolationScheme::fieldTable& fields = fieldsFluid[i]; - volScalarField& Qdot = QdotFluid[i]; - radiation::radiationModel& rad = radiation[i]; IOMRFZoneList& MRF = MRFfluid[i];