diff --git a/.gitignore b/.gitignore index 2ac20489..0116d614 100644 --- a/.gitignore +++ b/.gitignore @@ -8,7 +8,7 @@ log.* *.swp *.swo -**/linux*Gcc*/ +**/linux*cc*/ **/.vscode lnInclude diff --git a/applications/solvers/cfdemSolverIB/Make/options b/applications/solvers/cfdemSolverIB/Make/options index 9497badb..90f9e40c 100755 --- a/applications/solvers/cfdemSolverIB/Make/options +++ b/applications/solvers/cfdemSolverIB/Make/options @@ -9,12 +9,12 @@ EXE_INC = \ -I$(LIB_SRC)/transportModels \ -I$(LIB_SRC)/transportModels/incompressible/singlePhaseTransportModel \ -I$(CFDEM_SRC_DIR)/lagrangian/cfdemParticle/lnInclude \ - -I$(LIB_SRC)/sampling/lnInclude \ -I$(LIB_SRC)/dynamicFvMesh/lnInclude \ -I$(LIB_SRC)/dynamicMesh/lnInclude \ -I$(LIB_SRC)/dynamicMesh/dynamicFvMesh/lnInclude \ -I$(LIB_SRC)/dynamicMesh/dynamicMesh/lnInclude \ -I$(LIB_SRC)/fvOptions/lnInclude \ + -I$(LIB_SRC)/sampling/lnInclude \ -Wno-deprecated-copy EXE_LIBS = \ @@ -27,6 +27,7 @@ EXE_LIBS = \ -ldynamicFvMesh \ -ldynamicMesh \ -lfvOptions \ + -lsampling \ -l$(CFDEM_LIB_NAME) \ $(CFDEM_ADD_LIB_PATHS) \ $(CFDEM_ADD_LIBS) diff --git a/applications/solvers/cfdemSolverIB/cfdemSolverIB.C b/applications/solvers/cfdemSolverIB/cfdemSolverIB.C index cb3f3235..ff5b5d29 100755 --- a/applications/solvers/cfdemSolverIB/cfdemSolverIB.C +++ b/applications/solvers/cfdemSolverIB/cfdemSolverIB.C @@ -6,7 +6,8 @@ Christoph Goniva, christoph.goniva@cfdem.com Copyright (C) 1991-2009 OpenCFD Ltd. Copyright (C) 2009-2012 JKU, Linz - Copyright (C) 2012- DCS Computing GmbH,Linz + Copyright (C) 2012-2015 DCS Computing GmbH,Linz + Copyright (C) 2015- JKU, Linz ------------------------------------------------------------------------------- License This file is part of CFDEMcoupling. @@ -29,11 +30,14 @@ Application Description Transient solver for incompressible flow. - The code is an evolution of the solver pisoFoam in OpenFOAM(R) 1.6, + The code is an evolution of the solver pisoFoam in OpenFOAM(R) 1.6, where additional functionality for CFD-DEM coupling using immersed body (fictitious domain) method is added. Contributions Alice Hager + Daniel Queteschiner + Thomas Lichtenegger + Achuth N. Balachandran Nair \*---------------------------------------------------------------------------*/ @@ -53,23 +57,21 @@ Contributions #include "cellSet.H" +#include "fvOptions.H" // added the fvOptions library + // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // int main(int argc, char *argv[]) { - #include "setRootCase.H" + #include "setRootCase.H" #include "createTime.H" - #include "createDynamicFvMesh.H" - #include "createControl.H" - #include "createTimeControls.H" - #include "createFields.H" - #include "initContinuityErrs.H" + #include "createFvOptions.H" // create cfdemCloud #include "readGravitationalAcceleration.H" @@ -93,24 +95,31 @@ int main(int argc, char *argv[]) // do particle stuff Info << "- evolve()" << endl; - particleCloud.evolve(); + particleCloud.evolve(Us); // Pressure-velocity PISO corrector { + MRF.correctBoundaryVelocity(U); + // Momentum predictor fvVectorMatrix UEqn ( - fvm::ddt(voidfraction,U) + fvm::ddt(voidfraction,U) + MRF.DDt(U) + fvm::div(phi, U) + turbulence->divDevReff(U) + == + fvOptions(U) ); UEqn.relax(); + fvOptions.constrain(UEqn); + if (piso.momentumPredictor()) { solve(UEqn == -fvc::grad(p)); + fvOptions.correct(U); } // --- PISO loop @@ -126,6 +135,7 @@ int main(int argc, char *argv[]) adjustPhi(phi, U, p); + while (piso.correctNonOrthogonal()) { // Pressure corrector @@ -152,12 +162,15 @@ int main(int argc, char *argv[]) } } + laminarTransport.correct(); turbulence->correct(); Info << "particleCloud.calcVelocityCorrection() " << endl; volScalarField voidfractionNext=mesh.lookupObject("voidfractionNext"); particleCloud.calcVelocityCorrection(p,U,phiIB,voidfractionNext); + fvOptions.correct(U); + runTime.write(); Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s" diff --git a/applications/solvers/cfdemSolverIB/createFields.H b/applications/solvers/cfdemSolverIB/createFields.H index 017d4358..ea7e6a25 100755 --- a/applications/solvers/cfdemSolverIB/createFields.H +++ b/applications/solvers/cfdemSolverIB/createFields.H @@ -26,21 +26,6 @@ ), mesh ); - //mod by alice - Info<< "Reading physical velocity field U" << endl; - Info<< "Note: only if voidfraction at boundary is 1, U is superficial velocity!!!\n" << endl; - volVectorField Us - ( - IOobject - ( - "Us", - runTime.timeName(), - mesh, - IOobject::MUST_READ, - IOobject::AUTO_WRITE - ), - mesh - ); //======================== // drag law modelling @@ -76,9 +61,8 @@ mesh ); - //mod by alice - Info<< "Reading field phiIB\n" << endl; + Info<< "Reading field voidfraction\n" << endl; volScalarField voidfraction ( IOobject @@ -91,6 +75,21 @@ ), mesh ); + + Info<< "Reading particle velocity field Us\n" << endl; + volVectorField Us + ( + IOobject + ( + "Us", + runTime.timeName(), + mesh, + IOobject::MUST_READ, + IOobject::AUTO_WRITE + ), + mesh + ); + //======================== # include "createPhi.H" @@ -126,3 +125,5 @@ ); //=========================== + +#include "createMRF.H" diff --git a/applications/solvers/cfdemSolverIBContinuousForcing/Make/files b/applications/solvers/cfdemSolverIBContinuousForcing/Make/files new file mode 100755 index 00000000..2635b436 --- /dev/null +++ b/applications/solvers/cfdemSolverIBContinuousForcing/Make/files @@ -0,0 +1,3 @@ +cfdemSolverIBContinuousForcing.C + +EXE=$(CFDEM_APP_DIR)/cfdemSolverIBContinuousForcing diff --git a/applications/solvers/cfdemSolverIBContinuousForcing/Make/options b/applications/solvers/cfdemSolverIBContinuousForcing/Make/options new file mode 100755 index 00000000..90f9e40c --- /dev/null +++ b/applications/solvers/cfdemSolverIBContinuousForcing/Make/options @@ -0,0 +1,34 @@ +include $(CFDEM_ADD_LIBS_DIR)/additionalLibs + +EXE_INC = \ + -I$(CFDEM_OFVERSION_DIR) \ + -I$(LIB_SRC)/finiteVolume/lnInclude \ + -I$(LIB_SRC)/meshTools/lnInclude \ + -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \ + -I$(LIB_SRC)/TurbulenceModels/incompressible/lnInclude \ + -I$(LIB_SRC)/transportModels \ + -I$(LIB_SRC)/transportModels/incompressible/singlePhaseTransportModel \ + -I$(CFDEM_SRC_DIR)/lagrangian/cfdemParticle/lnInclude \ + -I$(LIB_SRC)/dynamicFvMesh/lnInclude \ + -I$(LIB_SRC)/dynamicMesh/lnInclude \ + -I$(LIB_SRC)/dynamicMesh/dynamicFvMesh/lnInclude \ + -I$(LIB_SRC)/dynamicMesh/dynamicMesh/lnInclude \ + -I$(LIB_SRC)/fvOptions/lnInclude \ + -I$(LIB_SRC)/sampling/lnInclude \ + -Wno-deprecated-copy + +EXE_LIBS = \ + -L$(CFDEM_LIB_DIR)\ + -lturbulenceModels \ + -lincompressibleTurbulenceModels \ + -lincompressibleTransportModels \ + -lfiniteVolume \ + -lmeshTools \ + -ldynamicFvMesh \ + -ldynamicMesh \ + -lfvOptions \ + -lsampling \ + -l$(CFDEM_LIB_NAME) \ + $(CFDEM_ADD_LIB_PATHS) \ + $(CFDEM_ADD_LIBS) + diff --git a/applications/solvers/cfdemSolverIBContinuousForcing/UEqn.H b/applications/solvers/cfdemSolverIBContinuousForcing/UEqn.H new file mode 100644 index 00000000..a20a5986 --- /dev/null +++ b/applications/solvers/cfdemSolverIBContinuousForcing/UEqn.H @@ -0,0 +1,19 @@ +fvVectorMatrix UEqn +( + fvm::ddt(voidfractionNext,U) + MRF.DDt(U) + + fvm::div(phi, U) + + turbulence->divDevReff(U) + == + fvOptions(U) + + (lambda*(1-voidfractionNext)/U.mesh().time().deltaT())*(fvc::Sp(1,Us)-fvm::Sp(1,U)) +); + +UEqn.relax(); + +fvOptions.constrain(UEqn); + +if (piso.momentumPredictor()) +{ + solve(UEqn == -fvc::grad(p)); + fvOptions.correct(U); +} diff --git a/applications/solvers/cfdemSolverIBContinuousForcing/cfdemSolverIBContinuousForcing.C b/applications/solvers/cfdemSolverIBContinuousForcing/cfdemSolverIBContinuousForcing.C new file mode 100755 index 00000000..4896716f --- /dev/null +++ b/applications/solvers/cfdemSolverIBContinuousForcing/cfdemSolverIBContinuousForcing.C @@ -0,0 +1,129 @@ +/*---------------------------------------------------------------------------*\ + CFDEMcoupling - Open Source CFD-DEM coupling + + CFDEMcoupling is part of the CFDEMproject + www.cfdem.com + Copyright (C) 1991-2009 OpenCFD Ltd. + Copyright (C) 2009-2012 JKU, Linz + Copyright (C) 2012-2015 DCS Computing GmbH,Linz + Copyright (C) 2015- JKU, Linz +------------------------------------------------------------------------------- +License + This file is part of CFDEMcoupling. + + CFDEMcoupling 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 3 of the License, or + (at your option) any later version. + + CFDEMcoupling 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 CFDEMcoupling. If not, see . + +Application + cfdemSolverIBContinuousForcing + +Description + Transient solver for incompressible flow. + The code is an evolution of the solver pisoFoam in OpenFOAM(R) 1.6, + where additional functionality for CFD-DEM coupling using immersed body + (fictitious domain) method and a continuous forcing approach is added. +Contributions + Alice Hager + Achuth N. Balachandran Nair +\*---------------------------------------------------------------------------*/ + + +#include "fvCFD.H" +#include "singlePhaseTransportModel.H" +#include "turbulentTransportModel.H" +#include "pisoControl.H" + +#include "cfdemCloudIB.H" +#include "implicitCouple.H" + +#include "averagingModel.H" +#include "regionModel.H" +#include "voidFractionModel.H" + +#include "dynamicFvMesh.H" + +#include "cellSet.H" + +#include "fvOptions.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +int main(int argc, char *argv[]) +{ + + #include "setRootCase.H" + #include "createTime.H" + #include "createDynamicFvMesh.H" + #include "createControl.H" + #include "createTimeControls.H" + #include "createFields.H" + #include "initContinuityErrs.H" + #include "createFvOptions.H" + + // create cfdemCloud + #include "readGravitationalAcceleration.H" + cfdemCloudIB particleCloud(mesh); + + // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + + Info<< "\nStarting time loop\n" << endl; + + while (runTime.loop()) + { + Info<< "Time = " << runTime.timeName() << nl << endl; + + //=== dyM =================== + interFace = mag(mesh.lookupObject("voidfractionNext")); + mesh.update(); //dyM + + #include "readTimeControls.H" + #include "CourantNo.H" + #include "setDeltaT.H" + + // do particle stuff + Info << "- evolve()" << endl; + particleCloud.evolve(Us); + + volScalarField voidfractionNext=mesh.lookupObject("voidfractionNext"); + + // Pressure-velocity PISO corrector + { + MRF.correctBoundaryVelocity(U); + + // Momentum predictor + #include "UEqn.H" + + // --- PISO loop + while (piso.correct()) + { + #include "pEqn.H" + } + } + + laminarTransport.correct(); + turbulence->correct(); + + runTime.write(); + + Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s" + << " ClockTime = " << runTime.elapsedClockTime() << " s" + << nl << endl; + } + + Info<< "End\n" << endl; + + return 0; +} + + +// ************************************************************************* // diff --git a/applications/solvers/cfdemSolverIBContinuousForcing/createFields.H b/applications/solvers/cfdemSolverIBContinuousForcing/createFields.H new file mode 100755 index 00000000..5b15ad97 --- /dev/null +++ b/applications/solvers/cfdemSolverIBContinuousForcing/createFields.H @@ -0,0 +1,143 @@ + Info<< "Reading field p\n" << endl; + volScalarField p + ( + IOobject + ( + "p", + runTime.timeName(), + mesh, + IOobject::MUST_READ, + IOobject::AUTO_WRITE + ), + mesh + ); + + Info<< "Reading physical velocity field U" << endl; + Info<< "Note: only if voidfraction at boundary is 1, U is superficial velocity!!!\n" << endl; + volVectorField U + ( + IOobject + ( + "U", + runTime.timeName(), + mesh, + IOobject::MUST_READ, + IOobject::AUTO_WRITE + ), + mesh + ); + + Info<< "Reading particle velocity field Us\n" << endl; + volVectorField Us + ( + IOobject + ( + "Us", + runTime.timeName(), + mesh, + IOobject::MUST_READ, + IOobject::AUTO_WRITE + ), + mesh + ); + + Info<< "Reading the penalization factor field lambda\n" << endl; + volScalarField lambda + ( + IOobject + ( + "lambda", + runTime.timeName(), + mesh, + IOobject::MUST_READ, + IOobject::AUTO_WRITE + ), + mesh + ); + +//======================== +// drag law modelling +//======================== + + Info<< "\nCreating dummy density field rho = 1\n" << endl; + volScalarField rho + ( + IOobject + ( + "rho", + runTime.timeName(), + mesh, + IOobject::READ_IF_PRESENT, + IOobject::AUTO_WRITE + ), + mesh, + dimensionedScalar("0", dimensionSet(1, -3, 0, 0, 0), 1.0) + ); + + + Info<< "Reading field phiIB\n" << endl; + volScalarField phiIB + ( + IOobject + ( + "phiIB", + runTime.timeName(), + mesh, + IOobject::MUST_READ, + IOobject::AUTO_WRITE + ), + mesh + ); + + //mod by alice + Info<< "Reading field voidfraction\n" << endl; + volScalarField voidfraction + ( + IOobject + ( + "voidfraction", + runTime.timeName(), + mesh, + IOobject::MUST_READ, + IOobject::AUTO_WRITE + ), + mesh + ); + +//======================== + +# include "createPhi.H" + + label pRefCell = 0; + scalar pRefValue = 0.0; + setRefCell(p, mesh.solutionDict().subDict("PISO"), pRefCell, pRefValue); + + + singlePhaseTransportModel laminarTransport(U, phi); + + autoPtr turbulence + ( + incompressible::turbulenceModel::New(U, phi, laminarTransport) + ); + +//=== dyM =================== + + Info<< "Reading field interFace\n" << endl; + volScalarField interFace + ( + IOobject + ( + "interFace", + runTime.timeName(), + mesh, + IOobject::READ_IF_PRESENT, + IOobject::AUTO_WRITE + ), + mesh, + //dimensionedScalar("0", dimensionSet(0, -1, 0, 0, 0), 0.0) + dimensionedScalar("0", dimensionSet(0, 0, 0, 0, 0), 0.0) + ); + +//=========================== + +#include "createMRF.H" diff --git a/applications/solvers/cfdemSolverIBContinuousForcing/pEqn.H b/applications/solvers/cfdemSolverIBContinuousForcing/pEqn.H new file mode 100644 index 00000000..4875a1c8 --- /dev/null +++ b/applications/solvers/cfdemSolverIBContinuousForcing/pEqn.H @@ -0,0 +1,35 @@ +volScalarField rUA = 1.0/UEqn.A(); +surfaceScalarField rUAf(fvc::interpolate(rUA)); + +U = rUA*UEqn.H(); + +phi = (fvc::interpolate(U) & mesh.Sf()) + + rUAf*fvc::ddtCorr(U, phi); // Is there additional flux term due to the particle presence? + +MRF.makeRelative(phi); + +adjustPhi(phi, U, p); + +while (piso.correctNonOrthogonal()) +{ + // Pressure corrector + + fvScalarMatrix pEqn + ( + fvm::laplacian(rUA, p) == fvc::div(phi) + particleCloud.ddtVoidfraction() + ); + + pEqn.setReference(pRefCell, pRefValue); + + pEqn.solve(mesh.solver(p.select(piso.finalInnerIter()))); + + if (piso.finalNonOrthogonalIter()) + { + phi -= pEqn.flux(); + } +} + +#include "continuityErrs.H" +U -= rUA*fvc::grad(p); // should we add a pressure correction? +U.correctBoundaryConditions(); +fvOptions.correct(U); diff --git a/applications/solvers/cfdemSolverMultiphaseScalar/Allwclean b/applications/solvers/cfdemSolverMultiphaseScalar/Allwclean index 1c8a5a68..8f8e3fe7 100755 --- a/applications/solvers/cfdemSolverMultiphaseScalar/Allwclean +++ b/applications/solvers/cfdemSolverMultiphaseScalar/Allwclean @@ -2,7 +2,7 @@ cd ${0%/*} || exit 1 # Run from this directory set -x -wclean libso multiphaseMixture +wclean libso multiphaseMixtureScalar wclean #------------------------------------------------------------------------------ diff --git a/applications/solvers/cfdemSolverMultiphaseScalar/Allwmake b/applications/solvers/cfdemSolverMultiphaseScalar/Allwmake index fbe71a59..2e60481b 100755 --- a/applications/solvers/cfdemSolverMultiphaseScalar/Allwmake +++ b/applications/solvers/cfdemSolverMultiphaseScalar/Allwmake @@ -6,7 +6,7 @@ targetType=libso . $WM_PROJECT_DIR/wmake/scripts/AllwmakeParseArguments set -x -wmake $targetType multiphaseMixture +wmake $targetType multiphaseMixtureScalar wmake #------------------------------------------------------------------------------ diff --git a/applications/solvers/cfdemSolverMultiphaseScalar/Make/options b/applications/solvers/cfdemSolverMultiphaseScalar/Make/options index 72a134ad..ce909f3b 100644 --- a/applications/solvers/cfdemSolverMultiphaseScalar/Make/options +++ b/applications/solvers/cfdemSolverMultiphaseScalar/Make/options @@ -6,7 +6,7 @@ include $(CFDEM_ADD_LIBS_DIR)/additionalLibs EXE_INC = \ $(PFLAGS) \ -I$(CFDEM_OFVERSION_DIR) \ - -ImultiphaseMixture/lnInclude \ + -ImultiphaseMixtureScalar/lnInclude \ -I$(LIB_SRC)/transportModels \ -I$(LIB_SRC)/transportModels/incompressible/lnInclude \ -I$(LIB_SRC)/transportModels/interfaceProperties/lnInclude \ diff --git a/applications/solvers/cfdemSolverMultiphaseScalar/cfdemSolverMultiphaseScalar.C b/applications/solvers/cfdemSolverMultiphaseScalar/cfdemSolverMultiphaseScalar.C index 504450fc..0ce0ae16 100644 --- a/applications/solvers/cfdemSolverMultiphaseScalar/cfdemSolverMultiphaseScalar.C +++ b/applications/solvers/cfdemSolverMultiphaseScalar/cfdemSolverMultiphaseScalar.C @@ -30,7 +30,7 @@ Description \*---------------------------------------------------------------------------*/ #include "fvCFD.H" -#include "multiphaseMixture.H" +#include "multiphaseMixtureScalar.H" #include "turbulentTransportModel.H" #include "pimpleControl.H" #include "fvOptions.H" diff --git a/applications/solvers/cfdemSolverMultiphaseScalar/createFields.H b/applications/solvers/cfdemSolverMultiphaseScalar/createFields.H index 009bd16d..d3b65ec2 100644 --- a/applications/solvers/cfdemSolverMultiphaseScalar/createFields.H +++ b/applications/solvers/cfdemSolverMultiphaseScalar/createFields.H @@ -88,7 +88,7 @@ surfaceScalarField phi linearInterpolate(U*voidfraction) & mesh.Sf() ); -multiphaseMixture mixture(U, phi, voidfraction); +multiphaseMixtureScalar mixture(U, phi, voidfraction); // Need to store rho for ddt(rho, U) volScalarField rho diff --git a/applications/solvers/cfdemSolverMultiphaseScalar/multiphaseMixture/Make/files b/applications/solvers/cfdemSolverMultiphaseScalar/multiphaseMixtureScalar/Make/files similarity index 83% rename from applications/solvers/cfdemSolverMultiphaseScalar/multiphaseMixture/Make/files rename to applications/solvers/cfdemSolverMultiphaseScalar/multiphaseMixtureScalar/Make/files index 998255e4..91bbae6b 100644 --- a/applications/solvers/cfdemSolverMultiphaseScalar/multiphaseMixture/Make/files +++ b/applications/solvers/cfdemSolverMultiphaseScalar/multiphaseMixtureScalar/Make/files @@ -1,5 +1,5 @@ phase/phase.C alphaContactAngle/alphaContactAngleFvPatchScalarField.C -multiphaseMixture.C +multiphaseMixtureScalar.C LIB = $(CFDEM_LIB_DIR)/libcfdemMultiphaseInterFoamScalar diff --git a/applications/solvers/cfdemSolverMultiphaseScalar/multiphaseMixture/Make/options b/applications/solvers/cfdemSolverMultiphaseScalar/multiphaseMixtureScalar/Make/options similarity index 100% rename from applications/solvers/cfdemSolverMultiphaseScalar/multiphaseMixture/Make/options rename to applications/solvers/cfdemSolverMultiphaseScalar/multiphaseMixtureScalar/Make/options diff --git a/applications/solvers/cfdemSolverMultiphaseScalar/multiphaseMixture/alphaContactAngle/alphaContactAngleFvPatchScalarField.C b/applications/solvers/cfdemSolverMultiphaseScalar/multiphaseMixtureScalar/alphaContactAngle/alphaContactAngleFvPatchScalarField.C similarity index 100% rename from applications/solvers/cfdemSolverMultiphaseScalar/multiphaseMixture/alphaContactAngle/alphaContactAngleFvPatchScalarField.C rename to applications/solvers/cfdemSolverMultiphaseScalar/multiphaseMixtureScalar/alphaContactAngle/alphaContactAngleFvPatchScalarField.C diff --git a/applications/solvers/cfdemSolverMultiphaseScalar/multiphaseMixture/alphaContactAngle/alphaContactAngleFvPatchScalarField.H b/applications/solvers/cfdemSolverMultiphaseScalar/multiphaseMixtureScalar/alphaContactAngle/alphaContactAngleFvPatchScalarField.H similarity index 96% rename from applications/solvers/cfdemSolverMultiphaseScalar/multiphaseMixture/alphaContactAngle/alphaContactAngleFvPatchScalarField.H rename to applications/solvers/cfdemSolverMultiphaseScalar/multiphaseMixtureScalar/alphaContactAngle/alphaContactAngleFvPatchScalarField.H index 09249c72..bbad25b3 100644 --- a/applications/solvers/cfdemSolverMultiphaseScalar/multiphaseMixture/alphaContactAngle/alphaContactAngleFvPatchScalarField.H +++ b/applications/solvers/cfdemSolverMultiphaseScalar/multiphaseMixtureScalar/alphaContactAngle/alphaContactAngleFvPatchScalarField.H @@ -26,7 +26,7 @@ Class Description Contact-angle boundary condition for multi-phase interface-capturing - simulations. Used in conjuction with multiphaseMixture. + simulations. Used in conjuction with multiphaseMixtureScalar. SourceFiles alphaContactAngleFvPatchScalarField.C @@ -37,7 +37,7 @@ SourceFiles #define alphaContactAngleFvPatchScalarField_H #include "zeroGradientFvPatchFields.H" -#include "multiphaseMixture.H" +#include "multiphaseMixtureScalar.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -117,8 +117,8 @@ public: typedef HashTable < interfaceThetaProps, - multiphaseMixture::interfacePair, - multiphaseMixture::interfacePair::hash + multiphaseMixtureScalar::interfacePair, + multiphaseMixtureScalar::interfacePair::hash > thetaPropsTable; diff --git a/applications/solvers/cfdemSolverMultiphaseScalar/multiphaseMixture/multiphaseMixture.C b/applications/solvers/cfdemSolverMultiphaseScalar/multiphaseMixtureScalar/multiphaseMixtureScalar.C similarity index 93% rename from applications/solvers/cfdemSolverMultiphaseScalar/multiphaseMixture/multiphaseMixture.C rename to applications/solvers/cfdemSolverMultiphaseScalar/multiphaseMixtureScalar/multiphaseMixtureScalar.C index 9d6cc130..0445368f 100644 --- a/applications/solvers/cfdemSolverMultiphaseScalar/multiphaseMixture/multiphaseMixture.C +++ b/applications/solvers/cfdemSolverMultiphaseScalar/multiphaseMixtureScalar/multiphaseMixtureScalar.C @@ -18,7 +18,7 @@ License \*---------------------------------------------------------------------------*/ -#include "multiphaseMixture.H" +#include "multiphaseMixtureScalar.H" #include "alphaContactAngleFvPatchScalarField.H" #include "Time.H" #include "subCycle.H" @@ -31,13 +31,13 @@ License // * * * * * * * * * * * * * * * Static Member Data * * * * * * * * * * * * // -const Foam::scalar Foam::multiphaseMixture::convertToRad = +const Foam::scalar Foam::multiphaseMixtureScalar::convertToRad = Foam::constant::mathematical::pi/180.0; // * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // -void Foam::multiphaseMixture::calcAlphas() +void Foam::multiphaseMixtureScalar::calcAlphas() { scalar level = 0.0; alphas_ == 0.0; @@ -51,7 +51,7 @@ void Foam::multiphaseMixture::calcAlphas() Foam::tmp -Foam::multiphaseMixture::calcNu() const +Foam::multiphaseMixtureScalar::calcNu() const { PtrDictionary::const_iterator iter = phases_.begin(); @@ -74,7 +74,7 @@ Foam::multiphaseMixture::calcNu() const } Foam::tmp -Foam::multiphaseMixture::calcStf() const +Foam::multiphaseMixtureScalar::calcStf() const { tmp tstf ( @@ -134,7 +134,7 @@ Foam::multiphaseMixture::calcStf() const // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // -Foam::multiphaseMixture::multiphaseMixture +Foam::multiphaseMixtureScalar::multiphaseMixtureScalar ( const volVectorField& U, const surfaceScalarField& phi, @@ -230,7 +230,7 @@ Foam::multiphaseMixture::multiphaseMixture // * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * // Foam::tmp -Foam::multiphaseMixture::rho() const +Foam::multiphaseMixtureScalar::rho() const { PtrDictionary::const_iterator iter = phases_.begin(); @@ -247,7 +247,7 @@ Foam::multiphaseMixture::rho() const Foam::tmp -Foam::multiphaseMixture::rho(const label patchi) const +Foam::multiphaseMixtureScalar::rho(const label patchi) const { PtrDictionary::const_iterator iter = phases_.begin(); @@ -264,9 +264,9 @@ Foam::multiphaseMixture::rho(const label patchi) const Foam::tmp -Foam::multiphaseMixture::mu() const +Foam::multiphaseMixtureScalar::mu() const { - Info << "In multiphasemixture mu()" << endl; + Info << "In multiphaseMixtureScalar mu()" << endl; return rho()*nu(); // PtrDictionary::const_iterator iter = phases_.begin(); @@ -283,7 +283,7 @@ Foam::multiphaseMixture::mu() const Foam::tmp -Foam::multiphaseMixture::mu(const label patchi) const +Foam::multiphaseMixtureScalar::mu(const label patchi) const { PtrDictionary::const_iterator iter = phases_.begin(); @@ -306,7 +306,7 @@ Foam::multiphaseMixture::mu(const label patchi) const Foam::tmp -Foam::multiphaseMixture::muf() const +Foam::multiphaseMixtureScalar::muf() const { return nuf()*fvc::interpolate(rho()); @@ -327,13 +327,13 @@ Foam::multiphaseMixture::muf() const Foam::tmp -Foam::multiphaseMixture::nu() const +Foam::multiphaseMixtureScalar::nu() const { return nu_; } Foam::tmp -Foam::multiphaseMixture::nu(const label patchi) const +Foam::multiphaseMixtureScalar::nu(const label patchi) const { //return nu_.boundaryField()[patchi]; PtrDictionary::const_iterator iter = phases_.begin(); @@ -355,7 +355,7 @@ Foam::multiphaseMixture::nu(const label patchi) const Foam::tmp -Foam::multiphaseMixture::nuf() const +Foam::multiphaseMixtureScalar::nuf() const { //return muf()/fvc::interpolate(rho()); PtrDictionary::const_iterator iter = phases_.begin(); @@ -374,7 +374,7 @@ Foam::multiphaseMixture::nuf() const } Foam::tmp -Foam::multiphaseMixture::Cp() const +Foam::multiphaseMixtureScalar::Cp() const { PtrDictionary::const_iterator iter = phases_.begin(); @@ -395,7 +395,7 @@ Foam::multiphaseMixture::Cp() const } Foam::tmp -Foam::multiphaseMixture::kf() const +Foam::multiphaseMixtureScalar::kf() const { PtrDictionary::const_iterator iter = phases_.begin(); @@ -417,7 +417,7 @@ Foam::multiphaseMixture::kf() const } Foam::tmp -Foam::multiphaseMixture::D() const +Foam::multiphaseMixtureScalar::D() const { PtrDictionary::const_iterator iter = phases_.begin(); @@ -439,7 +439,7 @@ Foam::multiphaseMixture::D() const } Foam::tmp -Foam::multiphaseMixture::Cs() const +Foam::multiphaseMixtureScalar::Cs() const { PtrDictionary::const_iterator iter = phases_.begin(); @@ -456,7 +456,7 @@ Foam::multiphaseMixture::Cs() const } Foam::tmp -Foam::multiphaseMixture::diffusionCorrection() const +Foam::multiphaseMixtureScalar::diffusionCorrection() const { surfaceScalarField numerator @@ -517,7 +517,7 @@ Foam::multiphaseMixture::diffusionCorrection() const return correction; } -void Foam::multiphaseMixture::solve() +void Foam::multiphaseMixtureScalar::solve() { correct(); @@ -570,7 +570,7 @@ void Foam::multiphaseMixture::solve() } -void Foam::multiphaseMixture::correct() +void Foam::multiphaseMixtureScalar::correct() { forAllIter(PtrDictionary, phases_, iter) { @@ -579,7 +579,7 @@ void Foam::multiphaseMixture::correct() } -Foam::tmp Foam::multiphaseMixture::nHatfv +Foam::tmp Foam::multiphaseMixtureScalar::nHatfv ( const volScalarField& alpha1, const volScalarField& alpha2 @@ -605,7 +605,7 @@ Foam::tmp Foam::multiphaseMixture::nHatfv } -Foam::tmp Foam::multiphaseMixture::nHatf +Foam::tmp Foam::multiphaseMixtureScalar::nHatf ( const volScalarField& alpha1, const volScalarField& alpha2 @@ -622,7 +622,7 @@ Foam::tmp Foam::multiphaseMixture::nHatf // The dynamic contact angle is calculated from the component of the // velocity on the direction of the interface, parallel to the wall. -void Foam::multiphaseMixture::correctContactAngle +void Foam::multiphaseMixtureScalar::correctContactAngle ( const phase& alpha1, const phase& alpha2, @@ -726,7 +726,7 @@ void Foam::multiphaseMixture::correctContactAngle } -Foam::tmp Foam::multiphaseMixture::K +Foam::tmp Foam::multiphaseMixtureScalar::K ( const phase& alpha1, const phase& alpha2 @@ -742,7 +742,7 @@ Foam::tmp Foam::multiphaseMixture::K Foam::tmp -Foam::multiphaseMixture::nearInterface() const +Foam::multiphaseMixtureScalar::nearInterface() const { tmp tnearInt ( @@ -768,7 +768,7 @@ Foam::multiphaseMixture::nearInterface() const } -void Foam::multiphaseMixture::solveAlphas +void Foam::multiphaseMixtureScalar::solveAlphas ( const scalar cAlpha ) @@ -901,7 +901,7 @@ void Foam::multiphaseMixture::solveAlphas } -bool Foam::multiphaseMixture::read() +bool Foam::multiphaseMixtureScalar::read() { if (transportModel::read()) { diff --git a/applications/solvers/cfdemSolverMultiphaseScalar/multiphaseMixture/multiphaseMixture.H b/applications/solvers/cfdemSolverMultiphaseScalar/multiphaseMixtureScalar/multiphaseMixtureScalar.H similarity index 96% rename from applications/solvers/cfdemSolverMultiphaseScalar/multiphaseMixture/multiphaseMixture.H rename to applications/solvers/cfdemSolverMultiphaseScalar/multiphaseMixtureScalar/multiphaseMixtureScalar.H index 5fe5a939..f1fbd153 100644 --- a/applications/solvers/cfdemSolverMultiphaseScalar/multiphaseMixture/multiphaseMixture.H +++ b/applications/solvers/cfdemSolverMultiphaseScalar/multiphaseMixtureScalar/multiphaseMixtureScalar.H @@ -17,10 +17,10 @@ License Copyright (C) 2018- Mathias Vångö, JKU Linz, Austria Class - multiphaseMixture + multiphaseMixtureScalar Description - This class is based on the OpenFOAM(R) Foam::multiphaseMixture class, + This class is based on the OpenFOAM(R) Foam::multiphaseMixtureScalar class, which is an incompressible multi-phase mixture with built in solution for the phase fractions with interface compression for interface-capturing. It has been extended to include the void fraction in the volume fraction @@ -33,11 +33,11 @@ Description between each phase-pair. SourceFiles - multiphaseMixture.C + multiphaseMixtureScalar.C \*---------------------------------------------------------------------------*/ -#ifndef multiphaseMixture_H -#define multiphaseMixture_H +#ifndef multiphaseMixtureScalar_H +#define multiphaseMixtureScalar_H #include "incompressible/transportModel/transportModel.H" #include "IOdictionary.H" @@ -52,10 +52,10 @@ namespace Foam { /*---------------------------------------------------------------------------*\ - Class multiphaseMixture Declaration + Class multiphaseMixtureScalar Declaration \*---------------------------------------------------------------------------*/ -class multiphaseMixture +class multiphaseMixtureScalar : public IOdictionary, public transportModel @@ -191,7 +191,7 @@ public: // Constructors //- Construct from components - multiphaseMixture + multiphaseMixtureScalar ( const volVectorField& U, const surfaceScalarField& phi, @@ -200,7 +200,7 @@ public: //- Destructor - virtual ~multiphaseMixture() + virtual ~multiphaseMixtureScalar() {} diff --git a/applications/solvers/cfdemSolverMultiphaseScalar/multiphaseMixture/phase/phase.C b/applications/solvers/cfdemSolverMultiphaseScalar/multiphaseMixtureScalar/phase/phase.C similarity index 100% rename from applications/solvers/cfdemSolverMultiphaseScalar/multiphaseMixture/phase/phase.C rename to applications/solvers/cfdemSolverMultiphaseScalar/multiphaseMixtureScalar/phase/phase.C diff --git a/applications/solvers/cfdemSolverMultiphaseScalar/multiphaseMixture/phase/phase.H b/applications/solvers/cfdemSolverMultiphaseScalar/multiphaseMixtureScalar/phase/phase.H similarity index 98% rename from applications/solvers/cfdemSolverMultiphaseScalar/multiphaseMixture/phase/phase.H rename to applications/solvers/cfdemSolverMultiphaseScalar/multiphaseMixtureScalar/phase/phase.H index 8237f374..0bab2d57 100644 --- a/applications/solvers/cfdemSolverMultiphaseScalar/multiphaseMixture/phase/phase.H +++ b/applications/solvers/cfdemSolverMultiphaseScalar/multiphaseMixtureScalar/phase/phase.H @@ -26,7 +26,7 @@ Class Description Single incompressible phase derived from the phase-fraction. - Used as part of the multiPhaseMixture for interface-capturing multi-phase + Used as part of the multiphaseMixtureScalar for interface-capturing multi-phase simulations. SourceFiles diff --git a/applications/solvers/cfdemSolverPisoFreeStreaming/Make/options b/applications/solvers/cfdemSolverPisoFreeStreaming/Make/options index ef370ae5..3b6c16f4 100644 --- a/applications/solvers/cfdemSolverPisoFreeStreaming/Make/options +++ b/applications/solvers/cfdemSolverPisoFreeStreaming/Make/options @@ -12,7 +12,8 @@ EXE_INC = \ -I$(CFDEM_SRC_DIR)/lagrangian/cfdemParticle/lnInclude \ -I$(CFDEM_SRC_DIR)/lagrangian/cfdemParticle/cfdTools \ -I$(CFDEM_SRC_DIR)/lagrangian/cfdemParticle/derived/cfdemCloudRec \ - -I$(LIB_SRC)/sampling/lnInclude + -I$(LIB_SRC)/sampling/lnInclude \ + -Wno-deprecated-copy EXE_LIBS = \ -L$(CFDEM_LIB_DIR)\ diff --git a/applications/solvers/cfdemSolverRhoPimple/EEqn.H b/applications/solvers/cfdemSolverRhoPimple/EEqn.H index 11c69f91..ddc6348f 100644 --- a/applications/solvers/cfdemSolverRhoPimple/EEqn.H +++ b/applications/solvers/cfdemSolverRhoPimple/EEqn.H @@ -51,8 +51,4 @@ thermo.correct(); Info<< "T max/min/ave : " << max(T).value() << " " << min(T).value() << " " << average(T).value() << endl; - - particleCloud.clockM().start(31,"energySolve"); - particleCloud.solve(); - particleCloud.clockM().stop("energySolve"); } diff --git a/applications/solvers/cfdemSolverRhoPimpleChem/EEqn.H b/applications/solvers/cfdemSolverRhoPimpleChem/EEqn.H index efcf6fa1..292e1d5b 100644 --- a/applications/solvers/cfdemSolverRhoPimpleChem/EEqn.H +++ b/applications/solvers/cfdemSolverRhoPimpleChem/EEqn.H @@ -55,8 +55,4 @@ fvScalarMatrix EEqn Info << "Cpv :" << max(Cpv).value() << " " << min(Cpv).value() << endl; Info<< "T max/min : " << max(T).value() << " " << min(T).value() << endl; Info << "he max/min : " << max(he).value() << " " << min(he).value() << endl; - - particleCloud.clockM().start(31,"energySolve"); - particleCloud.solve(); - particleCloud.clockM().stop("energySolve"); } diff --git a/applications/solvers/cfdemSolverRhoPimpleChem/YEqn.H b/applications/solvers/cfdemSolverRhoPimpleChem/YEqn.H index e4d58344..df659248 100644 --- a/applications/solvers/cfdemSolverRhoPimpleChem/YEqn.H +++ b/applications/solvers/cfdemSolverRhoPimpleChem/YEqn.H @@ -60,13 +60,13 @@ tmp > mvConvection if (propagateInertSpecie) { - if (inertIndex!=-1) Yt /= (1-Y[inertIndex] + VSMALL); + if (inertIndex!=-1) Yt /= (1-Y[inertIndex] + ROOTVSMALL); forAll(Y,i) { if (i!=inertIndex) { volScalarField& Yi = Y[i]; - Yi = Yi/(Yt+VSMALL); + Yi = Yi/(Yt+ROOTVSMALL); } } } diff --git a/applications/solvers/cfdemSolverRhoPimpleChem/createFields.H b/applications/solvers/cfdemSolverRhoPimpleChem/createFields.H index d5daf875..674efed4 100644 --- a/applications/solvers/cfdemSolverRhoPimpleChem/createFields.H +++ b/applications/solvers/cfdemSolverRhoPimpleChem/createFields.H @@ -303,18 +303,4 @@ mesh, dimensionedScalar("zero",dimensionSet(0, -3, 0, 0, 1),0) ); - - volScalarField dSauter - ( - IOobject - ( - "dSauter", - runTime.timeName(), - mesh, - IOobject::READ_IF_PRESENT, - IOobject::AUTO_WRITE - ), - mesh, - dimensionedScalar("zero",dimensionSet(0, 1, 0, 0, 0,0,0),0) - ); //=============================== diff --git a/applications/solvers/rcfdemSolverCoupledHeattransfer/TEqImp.H b/applications/solvers/rcfdemSolverCoupledHeattransfer/TEqn.H similarity index 76% rename from applications/solvers/rcfdemSolverCoupledHeattransfer/TEqImp.H rename to applications/solvers/rcfdemSolverCoupledHeattransfer/TEqn.H index c79de93c..b5d5bca9 100644 --- a/applications/solvers/rcfdemSolverCoupledHeattransfer/TEqImp.H +++ b/applications/solvers/rcfdemSolverCoupledHeattransfer/TEqn.H @@ -1,4 +1,4 @@ - volScalarField rhoeps = rhoRec*voidfractionRec; + rhoeps = rhoRec*voidfractionRec; particleCloud.energyContributions(Qsource); @@ -23,10 +23,17 @@ fvOptions(rhoeps, T) // no fvOptions support yet ); - fvOptions.constrain(TEqn); // no fvOptions support yet + // fvOptions.constrain(TEqn); // no fvOptions support yet + + TEqn.relax(); TEqn.solve(); + T = max(T, TMin); + T = min(T, TMax); + + Info<< "T max/min/ave : " << max(T).value() << " " << min(T).value() << " " << average(T).value() << endl; + particleCloud.clockM().start(31,"postFlow"); counter++; diff --git a/applications/solvers/rcfdemSolverCoupledHeattransfer/createFields.H b/applications/solvers/rcfdemSolverCoupledHeattransfer/createFields.H index 4fe8e7b1..34d727f4 100644 --- a/applications/solvers/rcfdemSolverCoupledHeattransfer/createFields.H +++ b/applications/solvers/rcfdemSolverCoupledHeattransfer/createFields.H @@ -73,6 +73,9 @@ dimensionedVector("zero", dimensionSet(0, 1, -1, 0, 0), vector::zero) ); + volScalarField rhoeps("rhoeps", rhoRec*voidfractionRec); + rhoeps.oldTime(); // switch on saving old time + // heat transfer fields Info << "\nCreating heat transfer fields.\n" << endl; @@ -228,3 +231,25 @@ ) ); weightDict.add("weights",scalarList(1,1.0)); + + dimensionedScalar TMax + ( + dimensionedScalar::lookupOrDefault + ( + "TMax", + transportProps, + dimTemperature, + GREAT + ) + ); + + dimensionedScalar TMin + ( + dimensionedScalar::lookupOrDefault + ( + "TMin", + transportProps, + dimTemperature, + 0.0 + ) + ); diff --git a/applications/solvers/rcfdemSolverCoupledHeattransfer/rcfdemSolverCoupledHeattransfer.C b/applications/solvers/rcfdemSolverCoupledHeattransfer/rcfdemSolverCoupledHeattransfer.C index c54e1f76..c6feec14 100644 --- a/applications/solvers/rcfdemSolverCoupledHeattransfer/rcfdemSolverCoupledHeattransfer.C +++ b/applications/solvers/rcfdemSolverCoupledHeattransfer/rcfdemSolverCoupledHeattransfer.C @@ -98,7 +98,7 @@ int main(int argc, char *argv[]) particleCloud.clockM().start(26,"Flow"); #include "updateRho.H" - #include "TEqImp.H" + #include "TEqn.H" particleCloud.clockM().stop("Flow"); stepCounter++; diff --git a/applications/solvers/rcfdemSolverCoupledHeattransfer/updateRho.H b/applications/solvers/rcfdemSolverCoupledHeattransfer/updateRho.H index 63c7da64..0dd3249e 100644 --- a/applications/solvers/rcfdemSolverCoupledHeattransfer/updateRho.H +++ b/applications/solvers/rcfdemSolverCoupledHeattransfer/updateRho.H @@ -1 +1,2 @@ -rhoRec = pRec / (T * R); \ No newline at end of file +dimensionedScalar Tave = T.weightedAverage(voidfractionRec); +rhoRec = pRec / (Tave * R); diff --git a/applications/solvers/rcfdemSolverForcedTracers/Make/options b/applications/solvers/rcfdemSolverForcedTracers/Make/options index 9443c2f8..bb12e544 100644 --- a/applications/solvers/rcfdemSolverForcedTracers/Make/options +++ b/applications/solvers/rcfdemSolverForcedTracers/Make/options @@ -12,6 +12,7 @@ EXE_INC = \ -I$(CFDEM_SRC_DIR)/lagrangian/cfdemParticle/cfdTools \ -I$(CFDEM_SRC_DIR)/recurrence/lnInclude \ -I$(CFDEM_SRC_DIR)/lagrangian/cfdemParticle/derived/cfdemCloudRec \ + -Wno-deprecated-copy EXE_LIBS = \ -L$(CFDEM_LIB_DIR)\ @@ -24,4 +25,4 @@ EXE_LIBS = \ -lfvOptions \ -l$(CFDEM_LIB_NAME) \ $(CFDEM_ADD_LIB_PATHS) \ -$(CFDEM_ADD_LIBS) + $(CFDEM_ADD_LIBS) diff --git a/applications/solvers/rcfdemSolverRhoSteadyPimple/EEqn.H b/applications/solvers/rcfdemSolverRhoSteadyPimple/EEqn.H index d4011345..130ec961 100644 --- a/applications/solvers/rcfdemSolverRhoSteadyPimple/EEqn.H +++ b/applications/solvers/rcfdemSolverRhoSteadyPimple/EEqn.H @@ -60,9 +60,4 @@ thermo.correct(); Info<< "T max/min : " << max(T).value() << " " << min(T).value() << endl; - - - particleCloud.clockM().start(31,"energySolve"); - particleCloud.solve(); - particleCloud.clockM().stop("energySolve"); } diff --git a/applications/solvers/rcfdemSolverRhoSteadyPimpleChem/EEqn.H b/applications/solvers/rcfdemSolverRhoSteadyPimpleChem/EEqn.H index 576fe6a4..c524365d 100644 --- a/applications/solvers/rcfdemSolverRhoSteadyPimpleChem/EEqn.H +++ b/applications/solvers/rcfdemSolverRhoSteadyPimpleChem/EEqn.H @@ -59,9 +59,4 @@ thermo.correct(); Info<< "T max/min : " << max(T).value() << " " << min(T).value() << endl; - - - particleCloud.clockM().start(31,"energySolve"); - particleCloud.solve(); - particleCloud.clockM().stop("energySolve"); } diff --git a/applications/solvers/rcfdemSolverRhoSteadyPimpleChem/Make/options b/applications/solvers/rcfdemSolverRhoSteadyPimpleChem/Make/options index 9290ba36..bfb52167 100644 --- a/applications/solvers/rcfdemSolverRhoSteadyPimpleChem/Make/options +++ b/applications/solvers/rcfdemSolverRhoSteadyPimpleChem/Make/options @@ -27,6 +27,7 @@ EXE_INC = \ -I$(LIB_SRC)/ODE/lnInclude \ -I$(LIB_SRC)/combustionModels/lnInclude \ -I$(CFDEM_SRC_DIR)/recurrence/lnInclude \ + -Wno-deprecated-copy EXE_LIBS = \ -L$(CFDEM_LIB_DIR)\ diff --git a/applications/solvers/rctfSpeciesTransport/Make/options b/applications/solvers/rctfSpeciesTransport/Make/options index 686f676c..bb12e544 100755 --- a/applications/solvers/rctfSpeciesTransport/Make/options +++ b/applications/solvers/rctfSpeciesTransport/Make/options @@ -12,6 +12,7 @@ EXE_INC = \ -I$(CFDEM_SRC_DIR)/lagrangian/cfdemParticle/cfdTools \ -I$(CFDEM_SRC_DIR)/recurrence/lnInclude \ -I$(CFDEM_SRC_DIR)/lagrangian/cfdemParticle/derived/cfdemCloudRec \ + -Wno-deprecated-copy EXE_LIBS = \ -L$(CFDEM_LIB_DIR)\ diff --git a/applications/utilities/displacementField/displacementField.C b/applications/utilities/displacementField/displacementField.C index 6f7be11e..ad73aaed 100644 --- a/applications/utilities/displacementField/displacementField.C +++ b/applications/utilities/displacementField/displacementField.C @@ -37,11 +37,19 @@ Application // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // void findPairs(labelList &, labelList &, labelPairList &); void findPairsUnordered(labelList &, labelList &, labelPairList &); -void fillEmptyCells(fvMesh &, label, label, labelList &, volVectorField &, volVectorField &, scalarList &, volVectorField &, volVectorField &, bool, scalar); -void nearestNeighborCells(fvMesh &, label, label, label, labelList &, labelList &); -void normalizeFields(labelList &, volVectorField &, volVectorField &); -void readDump(std::string, labelList &, vectorList &); +void fillEmptyCells(fvMesh &, label, label, scalarList &, volVectorField &, volVectorField &, scalarList &, volVectorField &, volVectorField &, bool, scalar); +void nearestNeighborCells(fvMesh &, label, label, label, scalarList &, labelList &); +void normalizeFields(scalarList &, volVectorField &, volVectorField &); +void readDump(std::string, labelList &, scalarList &, vectorList &); scalar weightFun(scalar); +label maxNumParticles = 1000000; +scalar minVol = 1e-12; +scalar Pi43 = 4.1888; +label posIndex = -1; +label posRad = -1; +label posX = -1; +label posY = -1; +label posZ = -1; int main(int argc, char *argv[]) { @@ -88,6 +96,11 @@ int main(int argc, char *argv[]) label dumpIndexDisplacementIncrement(readLabel(displacementProperties.lookup("dumpIndexDisplacementIncrement"))); label nNeighMin(readLabel(displacementProperties.lookup("nNeighMin"))); label maxSearchLayers(displacementProperties.lookupOrDefault