diff --git a/applications/solvers/cfdemSolverPimpleIB/Make/files b/applications/solvers/cfdemSolverPimpleIB/Make/files deleted file mode 100755 index a2df5847..00000000 --- a/applications/solvers/cfdemSolverPimpleIB/Make/files +++ /dev/null @@ -1,3 +0,0 @@ -cfdemSolverPimpleIB.C - -EXE=$(CFDEM_APP_DIR)/cfdemSolverPimpleIB diff --git a/applications/solvers/cfdemSolverPimpleIB/Make/options b/applications/solvers/cfdemSolverPimpleIB/Make/options deleted file mode 100755 index 12c7d02b..00000000 --- a/applications/solvers/cfdemSolverPimpleIB/Make/options +++ /dev/null @@ -1,33 +0,0 @@ -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 - -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/cfdemSolverPimpleIB/cfdemSolverPimpleIB.C b/applications/solvers/cfdemSolverPimpleIB/cfdemSolverPimpleIB.C deleted file mode 100644 index 3780a27e..00000000 --- a/applications/solvers/cfdemSolverPimpleIB/cfdemSolverPimpleIB.C +++ /dev/null @@ -1,209 +0,0 @@ -/*---------------------------------------------------------------------------*\ - CFDEMcoupling - Open Source CFD-DEM coupling - - CFDEMcoupling is part of the CFDEMproject - www.cfdem.com - 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 -------------------------------------------------------------------------------- -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 - cfdemSolverIB - -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 is added. -Contributions - Alice Hager -\*---------------------------------------------------------------------------*/ - - -#include "fvCFD.H" -#include "singlePhaseTransportModel.H" -#include "turbulentTransportModel.H" -#include "pimpleControl.H" - -#include "cfdemCloudIB.H" -#include "implicitCouple.H" - -#include "averagingModel.H" -#include "regionModel.H" -#include "voidFractionModel.H" - -#include "dynamicFvMesh.H" //dyM - -#include "cellSet.H" - -#include "fvOptions.H" // fvOptions library - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -int main(int argc, char *argv[]) -{ - - #include "postProcess.H" - - #include "setRootCase.H" - #include "createTime.H" - //#include "createMesh.H" - #include "createDynamicFvMesh.H" - #include "createControl.H" - #include "createTimeControls.H" - #include "createFields.H" - #include "createFvOptions.H" - #include "initContinuityErrs.H" - - // create cfdemCloud for particle data - 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" - - // particle information update - Info << "- evolve()" << endl; - particleCloud.evolve(Us); - - // Pressure-velocity PIMPLE corrector loop - while (pimple.loop()) - { - // Momentum predictor - - tmp tUEqn - ( - fvm::ddt(voidfraction,U) - + fvm::div(phi,U) - + turbulence->divDevReff(U) - == - fvOptions(U) - ); - - fvVectorMatrix UEqn = tUEqn.ref(); - - UEqn.relax(); - - fvOptions.constrain(UEqn); - - solve(UEqn == -fvc::grad(p)); - - fvOptions.correct(U); - - // Pressure corrector loop - while (pimple.correct()) - { - volScalarField rAU(1.0/UEqn.A()); - volVectorField HbyA("HbyA", U); - HbyA = rAU*UEqn.H(); - - surfaceScalarField phiHbyA - ( - "phiHbyA", - fvc::flux(HbyA) - + fvc::interpolate(rAU)*fvc::ddtCorr(U, phi) - ); - - adjustPhi(phiHbyA, U, p); - - tmp rAtU(rAU); - - if (pimple.consistent()) - { - rAtU = 1.0/max(1.0/rAU - UEqn.H1(), 0.1/rAU); - phiHbyA += - fvc::interpolate(rAtU() - rAU)*fvc::snGrad(p)*mesh.magSf(); - HbyA -= (rAU - rAtU())*fvc::grad(p); - } - - if (pimple.nCorrPISO() <= 1) - { - tUEqn.clear(); - } - - // Update the pressure BCs to ensure flux consistency - constrainPressure(p, U, phiHbyA, rAtU()); - - // Non-orthogonal pressure corrector loop - while (pimple.correctNonOrthogonal()) - { - // Pressure corrector - fvScalarMatrix pEqn - ( - fvm::laplacian(rAtU(), p) == fvc::div(phiHbyA) - ); - - pEqn.setReference(pRefCell, pRefValue); - - pEqn.solve(mesh.solver(p.select(pimple.finalInnerIter()))); - - if (pimple.finalNonOrthogonalIter()) - { - phi = phiHbyA - pEqn.flux(); - } - } - - #include "continuityErrs.H" - - p.relax(); - - // Momentum corrector - U = HbyA - rAtU()*fvc::grad(p); - U.correctBoundaryConditions(); - fvOptions.correct(U); - } - - if (pimple.turbCorr()) - { - 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" - << " ClockTime = " << runTime.elapsedClockTime() << " s" - << nl << endl; - } - - Info << "End\n" << endl; - - return 0; -} - -// ************************************************************************* // diff --git a/applications/solvers/cfdemSolverPimpleIB/createFields.H b/applications/solvers/cfdemSolverPimpleIB/createFields.H deleted file mode 100644 index ed7c9db5..00000000 --- a/applications/solvers/cfdemSolverPimpleIB/createFields.H +++ /dev/null @@ -1,127 +0,0 @@ -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 -); -//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 -//======================== - -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 phiIB\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("PIMPLE"), 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) -); - -//=========================== diff --git a/etc/solver-list.txt b/etc/solver-list.txt index 39c6f63f..93711e29 100644 --- a/etc/solver-list.txt +++ b/etc/solver-list.txt @@ -3,5 +3,4 @@ cfdemSolverPiso/dir cfdemSolverRhoPimple/dir cfdemSolverIB/dir cfdemSolverPisoScalar/dir -cfdemSolverPimpleIB/dir cfdemSolverIBRO/dir