From fbda1df996d656c0c62c64fce4f0b8c14fce3090 Mon Sep 17 00:00:00 2001 From: Henry Weller Date: Sat, 28 Jan 2023 21:02:23 +0000 Subject: [PATCH] particleFoam, rhoParticleFoam: Replaced by solvers::functions with the fvModel functionObject particleFoam has been superseded and replaced by the more general functions solver module executed by the foamRun application: foamRun -solver functions The incompressibleFluid solver specified by either the subSolver or if not present the solver entry in the controlDict is instantiated to provide the physical fields needed by fvModel functionObject in which the clouds fvModel is selected to evolve the Lagrangian particles. See: tutorials/modules/incompressibleFluid/hopperParticles tutorials/modules/incompressibleFluid/mixerVessel2DParticles rhoParticleFoam has been superseded and replaced by the more general functions solver module executed by the foamRun application: foamRun -solver functions The isothermalFluid solver specified by either the subSolver or if not present the solver entry in the controlDict is instantiated to provide the physical fields needed by fvModel functionObject in which the clouds fvModel is selected to evolve the Lagrangian particles. --- .../lagrangian/particleFoam/Make/files | 3 - .../lagrangian/particleFoam/Make/options | 20 ---- .../lagrangian/particleFoam/createFields.H | 95 ------------------- .../createNonInertialFrameFields.H | 88 ----------------- .../lagrangian/particleFoam/particleFoam.C | 93 ------------------ .../lagrangian/rhoParticleFoam/Make/files | 3 - .../lagrangian/rhoParticleFoam/Make/options | 26 ----- .../lagrangian/rhoParticleFoam/createFields.H | 53 ----------- .../rhoParticleFoam/rhoParticleFoam.C | 89 ----------------- bin/particleFoam | 60 ++++++++++++ bin/rhoParticleFoam | 54 +++++++++++ bin/scalarTransportFoam | 18 ++-- .../hopperParticles}/Allclean | 0 .../hopperParticles}/Allrun | 0 .../hopperParticles}/hopperEmptying/0/U | 4 +- .../hopperParticles}/hopperEmptying/0/mu | 0 .../hopperParticles/hopperEmptying/0/p | 43 +++++++++ .../hopperParticles}/hopperEmptying/0/rho | 0 .../hopperEmptying/constant/cloudProperties | 0 .../hopperEmptying/constant/g | 0 .../hopperEmptying/constant/momentumTransport | 0 .../constant/physicalProperties | 6 +- .../hopperEmptying/system/blockMeshDict | 0 .../hopperEmptying/system/controlDict | 22 ++++- .../hopperEmptying/system/decomposeParDict | 0 .../hopperEmptying/system/fvSchemes | 0 .../hopperEmptying/system/fvSolution | 6 +- .../hopperEmptying/system/mapFieldsDict | 0 .../hopperParticles}/hopperInitialState/0/U | 3 +- .../hopperParticles/hopperInitialState/0/p | 38 ++++++++ .../constant/cloudPositions | 0 .../constant/cloudProperties | 0 .../hopperInitialState/constant/g | 0 .../constant/momentumTransport | 0 .../constant/physicalProperties | 6 +- .../hopperInitialState/system/blockMeshDict | 0 .../hopperInitialState/system/controlDict | 20 +++- .../system/decomposeParDict | 0 .../hopperInitialState/system/fvSchemes | 0 .../hopperInitialState/system/fvSolution | 6 +- .../mixerVessel2DParticles}/0/U | 0 .../mixerVessel2DParticles/0/p | 40 ++++++++ .../mixerVessel2DParticles}/Allrun | 0 .../constant/cloudPositions | 0 .../constant/cloudProperties | 0 .../constant/dynamicMeshDict | 0 .../mixerVessel2DParticles}/constant/g | 0 .../constant/momentumTransport | 0 .../constant/physicalProperties | 5 +- .../system/controlDict | 19 +++- .../system/createBafflesDict | 0 .../system/decomposeParDict | 0 .../mixerVessel2DParticles}/system/fvSchemes | 0 .../mixerVessel2DParticles}/system/fvSolution | 7 ++ 54 files changed, 332 insertions(+), 495 deletions(-) delete mode 100644 applications/solvers/lagrangian/particleFoam/Make/files delete mode 100644 applications/solvers/lagrangian/particleFoam/Make/options delete mode 100644 applications/solvers/lagrangian/particleFoam/createFields.H delete mode 100644 applications/solvers/lagrangian/particleFoam/createNonInertialFrameFields.H delete mode 100644 applications/solvers/lagrangian/particleFoam/particleFoam.C delete mode 100644 applications/solvers/lagrangian/rhoParticleFoam/Make/files delete mode 100644 applications/solvers/lagrangian/rhoParticleFoam/Make/options delete mode 100644 applications/solvers/lagrangian/rhoParticleFoam/createFields.H delete mode 100644 applications/solvers/lagrangian/rhoParticleFoam/rhoParticleFoam.C create mode 100755 bin/particleFoam create mode 100755 bin/rhoParticleFoam rename tutorials/{lagrangian/particleFoam/hopper => modules/incompressibleFluid/hopperParticles}/Allclean (100%) rename tutorials/{lagrangian/particleFoam/hopper => modules/incompressibleFluid/hopperParticles}/Allrun (100%) rename tutorials/{lagrangian/particleFoam/hopper => modules/incompressibleFluid/hopperParticles}/hopperEmptying/0/U (97%) rename tutorials/{lagrangian/particleFoam/hopper => modules/incompressibleFluid/hopperParticles}/hopperEmptying/0/mu (100%) create mode 100644 tutorials/modules/incompressibleFluid/hopperParticles/hopperEmptying/0/p rename tutorials/{lagrangian/particleFoam/hopper => modules/incompressibleFluid/hopperParticles}/hopperEmptying/0/rho (100%) rename tutorials/{lagrangian/particleFoam/hopper => modules/incompressibleFluid/hopperParticles}/hopperEmptying/constant/cloudProperties (100%) rename tutorials/{lagrangian/particleFoam/hopper => modules/incompressibleFluid/hopperParticles}/hopperEmptying/constant/g (100%) rename tutorials/{lagrangian/particleFoam/hopper => modules/incompressibleFluid/hopperParticles}/hopperEmptying/constant/momentumTransport (100%) rename tutorials/{lagrangian/particleFoam/hopper => modules/incompressibleFluid/hopperParticles}/hopperEmptying/constant/physicalProperties (90%) rename tutorials/{lagrangian/particleFoam/hopper => modules/incompressibleFluid/hopperParticles}/hopperEmptying/system/blockMeshDict (100%) rename tutorials/{lagrangian/particleFoam/hopper => modules/incompressibleFluid/hopperParticles}/hopperEmptying/system/controlDict (76%) rename tutorials/{lagrangian/particleFoam/hopper => modules/incompressibleFluid/hopperParticles}/hopperEmptying/system/decomposeParDict (100%) rename tutorials/{lagrangian/particleFoam/hopper => modules/incompressibleFluid/hopperParticles}/hopperEmptying/system/fvSchemes (100%) rename tutorials/{lagrangian/particleFoam/hopper => modules/incompressibleFluid/hopperParticles}/hopperEmptying/system/fvSolution (90%) rename tutorials/{lagrangian/particleFoam/hopper => modules/incompressibleFluid/hopperParticles}/hopperEmptying/system/mapFieldsDict (100%) rename tutorials/{lagrangian/particleFoam/hopper => modules/incompressibleFluid/hopperParticles}/hopperInitialState/0/U (95%) create mode 100644 tutorials/modules/incompressibleFluid/hopperParticles/hopperInitialState/0/p rename tutorials/{lagrangian/particleFoam/hopper => modules/incompressibleFluid/hopperParticles}/hopperInitialState/constant/cloudPositions (100%) rename tutorials/{lagrangian/particleFoam/hopper => modules/incompressibleFluid/hopperParticles}/hopperInitialState/constant/cloudProperties (100%) rename tutorials/{lagrangian/particleFoam/hopper => modules/incompressibleFluid/hopperParticles}/hopperInitialState/constant/g (100%) rename tutorials/{lagrangian/particleFoam/hopper => modules/incompressibleFluid/hopperParticles}/hopperInitialState/constant/momentumTransport (100%) rename tutorials/{lagrangian/particleFoam/hopper => modules/incompressibleFluid/hopperParticles}/hopperInitialState/constant/physicalProperties (90%) rename tutorials/{lagrangian/particleFoam/hopper => modules/incompressibleFluid/hopperParticles}/hopperInitialState/system/blockMeshDict (100%) rename tutorials/{lagrangian/particleFoam/hopper => modules/incompressibleFluid/hopperParticles}/hopperInitialState/system/controlDict (78%) rename tutorials/{lagrangian/particleFoam/hopper => modules/incompressibleFluid/hopperParticles}/hopperInitialState/system/decomposeParDict (100%) rename tutorials/{lagrangian/particleFoam/hopper => modules/incompressibleFluid/hopperParticles}/hopperInitialState/system/fvSchemes (100%) rename tutorials/{lagrangian/particleFoam/hopper => modules/incompressibleFluid/hopperParticles}/hopperInitialState/system/fvSolution (90%) rename tutorials/{lagrangian/particleFoam/mixerVessel2D => modules/incompressibleFluid/mixerVessel2DParticles}/0/U (100%) create mode 100644 tutorials/modules/incompressibleFluid/mixerVessel2DParticles/0/p rename tutorials/{lagrangian/particleFoam/mixerVessel2D => modules/incompressibleFluid/mixerVessel2DParticles}/Allrun (100%) rename tutorials/{lagrangian/particleFoam/mixerVessel2D => modules/incompressibleFluid/mixerVessel2DParticles}/constant/cloudPositions (100%) rename tutorials/{lagrangian/particleFoam/mixerVessel2D => modules/incompressibleFluid/mixerVessel2DParticles}/constant/cloudProperties (100%) rename tutorials/{lagrangian/particleFoam/mixerVessel2D => modules/incompressibleFluid/mixerVessel2DParticles}/constant/dynamicMeshDict (100%) rename tutorials/{lagrangian/particleFoam/mixerVessel2D => modules/incompressibleFluid/mixerVessel2DParticles}/constant/g (100%) rename tutorials/{lagrangian/particleFoam/mixerVessel2D => modules/incompressibleFluid/mixerVessel2DParticles}/constant/momentumTransport (100%) rename tutorials/{lagrangian/particleFoam/mixerVessel2D => modules/incompressibleFluid/mixerVessel2DParticles}/constant/physicalProperties (90%) rename tutorials/{lagrangian/particleFoam/mixerVessel2D => modules/incompressibleFluid/mixerVessel2DParticles}/system/controlDict (78%) rename tutorials/{lagrangian/particleFoam/mixerVessel2D => modules/incompressibleFluid/mixerVessel2DParticles}/system/createBafflesDict (100%) rename tutorials/{lagrangian/particleFoam/mixerVessel2D => modules/incompressibleFluid/mixerVessel2DParticles}/system/decomposeParDict (100%) rename tutorials/{lagrangian/particleFoam/mixerVessel2D => modules/incompressibleFluid/mixerVessel2DParticles}/system/fvSchemes (100%) rename tutorials/{lagrangian/particleFoam/mixerVessel2D => modules/incompressibleFluid/mixerVessel2DParticles}/system/fvSolution (90%) diff --git a/applications/solvers/lagrangian/particleFoam/Make/files b/applications/solvers/lagrangian/particleFoam/Make/files deleted file mode 100644 index c89a38a17b..0000000000 --- a/applications/solvers/lagrangian/particleFoam/Make/files +++ /dev/null @@ -1,3 +0,0 @@ -particleFoam.C - -EXE = $(FOAM_APPBIN)/particleFoam diff --git a/applications/solvers/lagrangian/particleFoam/Make/options b/applications/solvers/lagrangian/particleFoam/Make/options deleted file mode 100644 index b90a6be544..0000000000 --- a/applications/solvers/lagrangian/particleFoam/Make/options +++ /dev/null @@ -1,20 +0,0 @@ -EXE_INC = \ - -I$(LIB_SRC)/lagrangian/basic/lnInclude \ - -I$(LIB_SRC)/lagrangian/parcel/lnInclude \ - -I$(LIB_SRC)/MomentumTransportModels/momentumTransportModels/lnInclude \ - -I$(LIB_SRC)/MomentumTransportModels/incompressible/lnInclude \ - -I$(LIB_SRC)/physicalProperties/lnInclude \ - -I$(LIB_SRC)/finiteVolume/lnInclude \ - -I$(LIB_SRC)/surfaceFilmModels/lnInclude \ - -I$(LIB_SRC)/meshTools/lnInclude - -EXE_LIBS = \ - -llagrangian \ - -llagrangianParcel \ - -llagrangianParcelTurbulence \ - -lmomentumTransportModels \ - -lincompressibleMomentumTransportModels \ - -lphysicalProperties \ - -lfiniteVolume \ - -lsurfaceFilmModels \ - -lmeshTools diff --git a/applications/solvers/lagrangian/particleFoam/createFields.H b/applications/solvers/lagrangian/particleFoam/createFields.H deleted file mode 100644 index b884f4467a..0000000000 --- a/applications/solvers/lagrangian/particleFoam/createFields.H +++ /dev/null @@ -1,95 +0,0 @@ -#include "readGravitationalAcceleration.H" - -Info<< "Reading field U\n" << endl; -volVectorField U -( - IOobject - ( - "U", - runTime.name(), - mesh, - IOobject::MUST_READ, - IOobject::AUTO_WRITE - ), - mesh -); - -#include "createPhi.H" - - -autoPtr viscosity(viscosityModel::New(mesh)); - -dimensionedScalar rhoInfValue("rhoInf", dimDensity, viscosity); - -volScalarField rhoInf -( - IOobject - ( - "rho", - runTime.name(), - mesh, - IOobject::NO_READ, - IOobject::AUTO_WRITE - ), - mesh, - rhoInfValue -); - -autoPtr turbulence -( - incompressible::momentumTransportModel::New(U, phi, viscosity) -); - -volScalarField mu -( - IOobject - ( - "mu", - runTime.name(), - mesh, - IOobject::NO_READ, - IOobject::AUTO_WRITE - ), - viscosity->nu()*rhoInfValue -); - -Info<< "Constructing clouds" << endl; -parcelClouds& clouds = parcelClouds::New(mesh, rhoInf, U, mu, g); - -typeIOobject Hheader -( - "H", - runTime.name(), - mesh, - IOobject::MUST_READ, - IOobject::AUTO_WRITE -); - -autoPtr HPtr; - -if (Hheader.headerOk()) -{ - Info<< "\nReading field H\n" << endl; - - HPtr.reset(new volVectorField (Hheader, mesh)); -} - -typeIOobject HdotGradHheader -( - "HdotGradH", - runTime.name(), - mesh, - IOobject::MUST_READ, - IOobject::AUTO_WRITE -); - -autoPtr HdotGradHPtr; - -if (HdotGradHheader.headerOk()) -{ - Info<< "Reading field HdotGradH" << endl; - - HdotGradHPtr.reset(new volVectorField(HdotGradHheader, mesh)); -} - -#include "createNonInertialFrameFields.H" diff --git a/applications/solvers/lagrangian/particleFoam/createNonInertialFrameFields.H b/applications/solvers/lagrangian/particleFoam/createNonInertialFrameFields.H deleted file mode 100644 index 4e8a688615..0000000000 --- a/applications/solvers/lagrangian/particleFoam/createNonInertialFrameFields.H +++ /dev/null @@ -1,88 +0,0 @@ - Info<< "Reading non-inertial frame fields" << endl; - - typeIOobject linearAccelerationHeader - ( - "linearAcceleration", - runTime.name(), - mesh, - IOobject::MUST_READ, - IOobject::AUTO_WRITE - ); - - autoPtr linearAccelerationPtr; - - if (linearAccelerationHeader.headerOk()) - { - Info<< " Reading " << linearAccelerationHeader.name() << endl; - - linearAccelerationPtr.reset - ( - new uniformDimensionedVectorField(linearAccelerationHeader) - ); - } - - - typeIOobject angularVelocityHeader - ( - "angularVelocity", - runTime.name(), - mesh, - IOobject::MUST_READ, - IOobject::AUTO_WRITE - ); - - autoPtr angularVelocityPtr; - - if (angularVelocityHeader.headerOk()) - { - Info<< " Reading " << angularVelocityHeader.name() << endl; - - angularVelocityPtr.reset - ( - new uniformDimensionedVectorField(angularVelocityHeader) - ); - } - - - typeIOobject angularAccelerationHeader - ( - "angularAcceleration", - runTime.name(), - mesh, - IOobject::MUST_READ, - IOobject::AUTO_WRITE - ); - - autoPtr angularAccelerationPtr; - - if (angularAccelerationHeader.headerOk()) - { - Info<< " Reading " << angularAccelerationHeader.name() << endl; - - angularAccelerationPtr.reset - ( - new uniformDimensionedVectorField(angularAccelerationHeader) - ); - } - - - typeIOobject centreOfRotationHeader - ( - "centreOfRotation", - runTime.name(), - mesh, - IOobject::MUST_READ, - IOobject::AUTO_WRITE - ); - - autoPtr centreOfRotationPtr; - - if (centreOfRotationHeader.headerOk()) - { - Info<< " Reading " << centreOfRotationHeader.name() << endl; - - centreOfRotationPtr.reset - ( - new uniformDimensionedVectorField(centreOfRotationHeader) - ); - } diff --git a/applications/solvers/lagrangian/particleFoam/particleFoam.C b/applications/solvers/lagrangian/particleFoam/particleFoam.C deleted file mode 100644 index 256e442b0e..0000000000 --- a/applications/solvers/lagrangian/particleFoam/particleFoam.C +++ /dev/null @@ -1,93 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2011-2022 OpenFOAM Foundation - \\/ M anipulation | -------------------------------------------------------------------------------- -License - This file is part of OpenFOAM. - - OpenFOAM is free software: you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - OpenFOAM is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - for more details. - - You should have received a copy of the GNU General Public License - along with OpenFOAM. If not, see . - -Application - particleFoam - -Description - Transient solver for the transport of a particles through an incompressible - carrier phase. Does not evolve the carrier; uses pre-computed carrier - property fields. - -\*---------------------------------------------------------------------------*/ - -#include "fvCFD.H" -#include "viscosityModel.H" -#include "incompressibleMomentumTransportModels.H" -#include "parcelClouds.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -int main(int argc, char *argv[]) -{ - #define NO_CONTROL - #include "postProcess.H" - - #include "setRootCaseLists.H" - #include "createTime.H" - #include "createMesh.H" - #include "createFields.H" - #include "CourantNo.H" - - // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - - Info<< "\nStarting time loop\n" << endl; - - while (runTime.run()) - { - clouds.storeGlobalPositions(); - - // Update the mesh for topology change, mesh to mesh mapping - mesh.update(); - - runTime++; - - Info<< "Time = " << runTime.userTimeName() << nl << endl; - - // Move the mesh - mesh.move(); - - if (mesh.changing()) - { - U.correctBoundaryConditions(); - } - - viscosity->correct(); - mu = viscosity->nu()*rhoInfValue; - - clouds.evolve(); - - runTime.write(); - - Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s" - << " ClockTime = " << runTime.elapsedClockTime() << " s" - << nl << endl; - } - - Info<< "End\n" << endl; - - return 0; -} - - -// ************************************************************************* // diff --git a/applications/solvers/lagrangian/rhoParticleFoam/Make/files b/applications/solvers/lagrangian/rhoParticleFoam/Make/files deleted file mode 100644 index dab551e00f..0000000000 --- a/applications/solvers/lagrangian/rhoParticleFoam/Make/files +++ /dev/null @@ -1,3 +0,0 @@ -rhoParticleFoam.C - -EXE = $(FOAM_APPBIN)/rhoParticleFoam diff --git a/applications/solvers/lagrangian/rhoParticleFoam/Make/options b/applications/solvers/lagrangian/rhoParticleFoam/Make/options deleted file mode 100644 index 0f9e69a699..0000000000 --- a/applications/solvers/lagrangian/rhoParticleFoam/Make/options +++ /dev/null @@ -1,26 +0,0 @@ -EXE_INC = \ - -I$(LIB_SRC)/lagrangian/basic/lnInclude \ - -I$(LIB_SRC)/lagrangian/parcel/lnInclude \ - -I$(LIB_SRC)/physicalProperties/lnInclude \ - -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \ - -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ - -I$(LIB_SRC)/thermophysicalModels/multicomponentThermo/lnInclude \ - -I$(LIB_SRC)/MomentumTransportModels/momentumTransportModels/lnInclude \ - -I$(LIB_SRC)/MomentumTransportModels/compressible/lnInclude \ - -I$(LIB_SRC)/finiteVolume/lnInclude \ - -I$(LIB_SRC)/meshTools/lnInclude \ - -I$(LIB_SRC)/surfaceFilmModels/lnInclude - -EXE_LIBS = \ - -llagrangian \ - -llagrangianParcel \ - -llagrangianParcelTurbulence \ - -lfluidThermophysicalModels \ - -lspecie \ - -lmomentumTransportModels \ - -lcompressibleMomentumTransportModels \ - -lfiniteVolume \ - -lfvModels \ - -lfvConstraints \ - -lmeshTools \ - -lsurfaceFilmModels diff --git a/applications/solvers/lagrangian/rhoParticleFoam/createFields.H b/applications/solvers/lagrangian/rhoParticleFoam/createFields.H deleted file mode 100644 index d95f50b215..0000000000 --- a/applications/solvers/lagrangian/rhoParticleFoam/createFields.H +++ /dev/null @@ -1,53 +0,0 @@ -#include "readGravitationalAcceleration.H" - -Info<< "Reading thermophysical properties\n" << endl; - -autoPtr pThermo -( - fluidThermo::New(mesh) -); -fluidThermo& thermo = pThermo(); - -volScalarField rho -( - IOobject - ( - "rho", - runTime.name(), - mesh, - IOobject::NO_READ, - IOobject::AUTO_WRITE - ), - thermo.renameRho() -); - -Info<< "\nReading field U\n" << endl; -volVectorField U -( - IOobject - ( - "U", - runTime.name(), - mesh, - IOobject::MUST_READ, - IOobject::AUTO_WRITE - ), - mesh -); - -#include "compressibleCreatePhi.H" - -Info<< "Creating turbulence model\n" << endl; -autoPtr turbulence -( - compressible::momentumTransportModel::New - ( - rho, - U, - phi, - thermo - ) -); - -Info<< "Constructing clouds" << endl; -parcelClouds& clouds = parcelClouds::New(mesh, rho, U, g, thermo); diff --git a/applications/solvers/lagrangian/rhoParticleFoam/rhoParticleFoam.C b/applications/solvers/lagrangian/rhoParticleFoam/rhoParticleFoam.C deleted file mode 100644 index 10f6b2a6be..0000000000 --- a/applications/solvers/lagrangian/rhoParticleFoam/rhoParticleFoam.C +++ /dev/null @@ -1,89 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2011-2022 OpenFOAM Foundation - \\/ M anipulation | -------------------------------------------------------------------------------- -License - This file is part of OpenFOAM. - - OpenFOAM is free software: you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - OpenFOAM is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - for more details. - - You should have received a copy of the GNU General Public License - along with OpenFOAM. If not, see . - -Application - rhoParticleFoam - -Description - Transient solver for the transport of a particles through an compressible - carrier phase. Does not evolve the carrier; uses pre-computed carrier - property fields. - -\*---------------------------------------------------------------------------*/ - -#include "fvCFD.H" -#include "fluidThermo.H" -#include "compressibleMomentumTransportModels.H" -#include "parcelClouds.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -int main(int argc, char *argv[]) -{ - #define NO_CONTROL - #include "postProcess.H" - - #include "setRootCaseLists.H" - #include "createTime.H" - #include "createMesh.H" - #include "createFields.H" - #include "compressibleCourantNo.H" - - // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - - Info<< "\nStarting time loop\n" << endl; - - while (runTime.run()) - { - clouds.storeGlobalPositions(); - - mesh.update(); - - runTime++; - - Info<< "Time = " << runTime.userTimeName() << nl << endl; - - // Move the mesh - mesh.move(); - - if (mesh.changing()) - { - U.correctBoundaryConditions(); - } - - clouds.evolve(); - - runTime.write(); - - Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s" - << " ClockTime = " << runTime.elapsedClockTime() << " s" - << nl << endl; - } - - Info<< "End\n" << endl; - - return 0; -} - - -// ************************************************************************* // diff --git a/bin/particleFoam b/bin/particleFoam new file mode 100755 index 0000000000..388c34139e --- /dev/null +++ b/bin/particleFoam @@ -0,0 +1,60 @@ +#!/bin/sh +#------------------------------------------------------------------------------ +# ========= | +# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox +# \\ / O peration | Website: https://openfoam.org +# \\ / A nd | Copyright (C) 2023 OpenFOAM Foundation +# \\/ M anipulation | +#------------------------------------------------------------------------------ +# License +# This file is part of OpenFOAM. +# +# OpenFOAM is free software: you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# OpenFOAM is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# for more details. +# +# You should have received a copy of the GNU General Public License +# along with OpenFOAM. If not, see . +# +# Script +# particleFoam +# +# Description +# Script to inform the user that particleFoam has been superseded +# and replaced by the more general functions solver module +# executed by the foamRun application. +# +# The incompressibleFluid solver specified by either the subSolver or if not +# present the solver entry in the controlDict is instantiated to provide the +# physical fields needed by fvModel functionObject in which the clouds +# fvModel is selected to evolve the Lagrangian particles. See: +# +# tutorials/modules/incompressibleFluid/hopperParticles +# tutorials/modules/incompressibleFluid/mixerVessel2DParticles +# +#------------------------------------------------------------------------------ + +cat <. +# +# Script +# rhoParticleFoam +# +# Description +# Script to inform the user that rhoParticleFoam has been superseded +# and replaced by the more general functions solver module +# executed by the foamRun application. +# +# The isothermalFluid solver specified by either the subSolver or if not +# present the solver entry in the controlDict is instantiated to provide the +# physical fields needed by fvModel functionObject in which the clouds +# fvModel is selected to evolve the Lagrangian particles. +# +#------------------------------------------------------------------------------ + +cat <