From 0b57c2400ca6017fc637f0f4244bf5d74d41f97a Mon Sep 17 00:00:00 2001 From: tlichtenegger Date: Mon, 7 Jan 2019 09:44:36 +0100 Subject: [PATCH] Heat transfer model to describe inter-grain conduction in terms of volume fraction instead of explicit contacts. --- .../rcfdemSolverRhoSteadyPimple/UEqn.H | 1 + .../createFields.H | 35 +++ .../rcfdemSolverRhoSteadyPimple/pEqn.H | 4 + .../rcfdemSolverRhoSteadyPimple.C | 46 ++-- src/lagrangian/cfdemParticle/Make/files | 2 +- .../heatTransferGranConduction.C | 244 +++++++++++++++++ .../heatTransferGranConduction.H | 129 +++++++++ .../heatTransferGunn/heatTransferGunn.C | 247 ++++++++++-------- .../heatTransferGunn/heatTransferGunn.H | 14 +- src/lagrangian/cfdemParticleComp/Make/files | 2 +- 10 files changed, 588 insertions(+), 136 deletions(-) create mode 100644 src/lagrangian/cfdemParticle/subModels/energyModel/heatTransferGranConduction/heatTransferGranConduction.C create mode 100644 src/lagrangian/cfdemParticle/subModels/energyModel/heatTransferGranConduction/heatTransferGranConduction.H diff --git a/applications/solvers/rcfdemSolverRhoSteadyPimple/UEqn.H b/applications/solvers/rcfdemSolverRhoSteadyPimple/UEqn.H index 3b296ac8..9e75193e 100644 --- a/applications/solvers/rcfdemSolverRhoSteadyPimple/UEqn.H +++ b/applications/solvers/rcfdemSolverRhoSteadyPimple/UEqn.H @@ -26,6 +26,7 @@ else } //U.relax(); +#include "limitU.H" fvOptions.correct(U); diff --git a/applications/solvers/rcfdemSolverRhoSteadyPimple/createFields.H b/applications/solvers/rcfdemSolverRhoSteadyPimple/createFields.H index 6429ef5f..9df05258 100644 --- a/applications/solvers/rcfdemSolverRhoSteadyPimple/createFields.H +++ b/applications/solvers/rcfdemSolverRhoSteadyPimple/createFields.H @@ -189,6 +189,39 @@ Info<< "Reading thermophysical properties\n" << endl; ) ); + dimensionedScalar pMax + ( + dimensionedScalar::lookupOrDefault + ( + "pMax", + pimple.dict(), + dimPressure, + GREAT + ) + ); + + dimensionedScalar pMin + ( + dimensionedScalar::lookupOrDefault + ( + "pMin", + pimple.dict(), + dimPressure, + -GREAT + ) + ); + + dimensionedScalar UMax + ( + dimensionedScalar::lookupOrDefault + ( + "UMax", + pimple.dict(), + dimVelocity, + -1.0 + ) + ); + Info<< "Creating turbulence model\n" << endl; autoPtr turbulence ( @@ -265,4 +298,6 @@ Info<< "Reading thermophysical properties\n" << endl; ), Us ); + + //=============================== diff --git a/applications/solvers/rcfdemSolverRhoSteadyPimple/pEqn.H b/applications/solvers/rcfdemSolverRhoSteadyPimple/pEqn.H index b1f352f1..13323354 100644 --- a/applications/solvers/rcfdemSolverRhoSteadyPimple/pEqn.H +++ b/applications/solvers/rcfdemSolverRhoSteadyPimple/pEqn.H @@ -60,6 +60,8 @@ else // Explicitly relax pressure for momentum corrector p.relax(); +#include "limitP.H" + // Recalculate density from the relaxed pressure rho = thermo.rho(); rho = max(rho, rhoMin); @@ -77,6 +79,8 @@ else U = HbyA - rAU*(fvc::grad(p)-Ksl*UsRec); } +#include "limitU.H" + U.correctBoundaryConditions(); fvOptions.correct(U); K = 0.5*magSqr(U); diff --git a/applications/solvers/rcfdemSolverRhoSteadyPimple/rcfdemSolverRhoSteadyPimple.C b/applications/solvers/rcfdemSolverRhoSteadyPimple/rcfdemSolverRhoSteadyPimple.C index 65a5efb8..6d2fe6e1 100644 --- a/applications/solvers/rcfdemSolverRhoSteadyPimple/rcfdemSolverRhoSteadyPimple.C +++ b/applications/solvers/rcfdemSolverRhoSteadyPimple/rcfdemSolverRhoSteadyPimple.C @@ -85,6 +85,11 @@ int main(int argc, char *argv[]) scalar recTimeStep = recurrenceBase.recM().recTimeStep(); scalar startTime = runTime.startTime().value(); + const IOdictionary& couplingProps = particleCloud.couplingProperties(); + label nEveryFlow(couplingProps.lookupOrDefault