diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/Allwclean b/applications/solvers/multiphase/multiphaseEulerFoam/Allwclean
deleted file mode 100755
index 727191ec35..0000000000
--- a/applications/solvers/multiphase/multiphaseEulerFoam/Allwclean
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/bin/sh
-cd ${0%/*} || exit 1 # Run from this directory
-
-wclean libso multiphaseSystem
-wclean libso interfacialModels
-wclean
-
-#------------------------------------------------------------------------------
diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/Allwmake b/applications/solvers/multiphase/multiphaseEulerFoam/Allwmake
deleted file mode 100755
index c731f57210..0000000000
--- a/applications/solvers/multiphase/multiphaseEulerFoam/Allwmake
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/bin/sh
-cd ${0%/*} || exit 1 # Run from this directory
-
-# Parse arguments for library compilation
-. $WM_PROJECT_DIR/wmake/scripts/AllwmakeParseArguments
-
-wmake $targetType multiphaseSystem
-wmake $targetType interfacialModels
-wmake $targetType
-
-#------------------------------------------------------------------------------
diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/CourantNo.H b/applications/solvers/multiphase/multiphaseEulerFoam/CourantNo.H
deleted file mode 100644
index c9d0a81230..0000000000
--- a/applications/solvers/multiphase/multiphaseEulerFoam/CourantNo.H
+++ /dev/null
@@ -1,60 +0,0 @@
-/*---------------------------------------------------------------------------*\
- ========= |
- \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
- \\ / O peration | Website: https://openfoam.org
- \\ / A nd | Copyright (C) 2011-2018 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 .
-
-Global
- CourantNo
-
-Description
- Calculates and outputs the mean and maximum Courant Numbers.
-
-\*---------------------------------------------------------------------------*/
-
-scalar CoNum = 0.0;
-scalar meanCoNum = 0.0;
-
-if (mesh.nInternalFaces())
-{
- scalarField sumPhi
- (
- fvc::surfaceSum(mag(phi))().primitiveField()
- );
-
- forAllIter(PtrDictionary, fluid.phases(), iter)
- {
- sumPhi = max
- (
- sumPhi,
- fvc::surfaceSum(mag(iter().phi()))().primitiveField()
- );
- }
-
- CoNum = 0.5*gMax(sumPhi/mesh.V().field())*runTime.deltaTValue();
-
- meanCoNum =
- 0.5*(gSum(sumPhi)/gSum(mesh.V().field()))*runTime.deltaTValue();
-}
-
-Info<< "Courant Number mean: " << meanCoNum
- << " max: " << CoNum << endl;
-
-// ************************************************************************* //
diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/DDtU.H b/applications/solvers/multiphase/multiphaseEulerFoam/DDtU.H
deleted file mode 100644
index 04b66a307a..0000000000
--- a/applications/solvers/multiphase/multiphaseEulerFoam/DDtU.H
+++ /dev/null
@@ -1,11 +0,0 @@
-forAllIter(PtrDictionary, fluid.phases(), iter)
-{
- phaseModel& phase = iter();
-
- phase.DDtU() =
- fvc::ddt(phase.U())
- + fvc::div(phase.phi(), phase.U())
- - fvc::div(phase.phi())*phase.U();
-
- MRF.addAcceleration(phase.U(), phase.DDtU());
-}
diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/MRFCorrectBCs.H b/applications/solvers/multiphase/multiphaseEulerFoam/MRFCorrectBCs.H
deleted file mode 100644
index e871719cd8..0000000000
--- a/applications/solvers/multiphase/multiphaseEulerFoam/MRFCorrectBCs.H
+++ /dev/null
@@ -1,6 +0,0 @@
- forAllIter(PtrDictionary, fluid.phases(), iter)
- {
- MRF.correctBoundaryVelocity(iter().U());
- }
-
- MRF.correctBoundaryVelocity(U);
diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/Make/files b/applications/solvers/multiphase/multiphaseEulerFoam/Make/files
deleted file mode 100644
index f71c44324a..0000000000
--- a/applications/solvers/multiphase/multiphaseEulerFoam/Make/files
+++ /dev/null
@@ -1,3 +0,0 @@
-multiphaseEulerFoam.C
-
-EXE = $(FOAM_APPBIN)/multiphaseEulerFoam
diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/Make/options b/applications/solvers/multiphase/multiphaseEulerFoam/Make/options
deleted file mode 100644
index 9a8547b64e..0000000000
--- a/applications/solvers/multiphase/multiphaseEulerFoam/Make/options
+++ /dev/null
@@ -1,22 +0,0 @@
-EXE_INC = \
- -ImultiphaseSystem/lnInclude \
- -ImultiphaseFixedFluxPressure \
- -IinterfacialModels/lnInclude \
- -I$(LIB_SRC)/transportModels/lnInclude \
- -I$(LIB_SRC)/twoPhaseModels/interfaceProperties/lnInclude \
- -I$(LIB_SRC)/MomentumTransportModels/momentumTransportModels/lnInclude \
- -I$(LIB_SRC)/MomentumTransportModels/incompressible/lnInclude \
- -I$(LIB_SRC)/finiteVolume/lnInclude \
- -I$(LIB_SRC)/meshTools/lnInclude
-
-
-EXE_LIBS = \
- -lmultiphaseSystem \
- -linterfaceProperties \
- -lincompressibleTransportModels \
- -lcompressibleMultiphaseEulerianInterfacialModels \
- -lmomentumTransportModels \
- -lincompressibleMomentumTransportModels \
- -lfiniteVolume \
- -lfvOptions \
- -lmeshTools
diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/TEqns.H b/applications/solvers/multiphase/multiphaseEulerFoam/TEqns.H
deleted file mode 100644
index 427a5f0b4c..0000000000
--- a/applications/solvers/multiphase/multiphaseEulerFoam/TEqns.H
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- volScalarField kByCp1("kByCp1", alpha1*(k1/Cp1/rho1 + sqr(Ct)*nut2/Prt));
- volScalarField kByCp2("kByCp2", alpha2*(k2/Cp2/rho2 + nut2/Prt));
-
- fvScalarMatrix T1Eqn
- (
- fvm::ddt(alpha1, T1)
- + fvm::div(alphaPhi1, T1)
- - fvm::laplacian(kByCp1, T1)
- ==
- heatTransferCoeff*T2/Cp1/rho1
- - fvm::Sp(heatTransferCoeff/Cp1/rho1, T1)
- + alpha1*Dp1Dt/Cp1/rho1
- );
-
- fvScalarMatrix T2Eqn
- (
- fvm::ddt(alpha2, T2)
- + fvm::div(alphaPhi2, T2)
- - fvm::laplacian(kByCp2, T2)
- ==
- heatTransferCoeff*T1/Cp2/rho2
- - fvm::Sp(heatTransferCoeff/Cp2/rho2, T2)
- + alpha2*Dp2Dt/Cp2/rho2
- );
-
- T1Eqn.relax();
- T1Eqn.solve();
-
- T2Eqn.relax();
- T2Eqn.solve();
-
- // Update compressibilities
- psi1 = 1.0/(R1*T1);
- psi2 = 1.0/(R2*T2);
-}
diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/UEqns.H b/applications/solvers/multiphase/multiphaseEulerFoam/UEqns.H
deleted file mode 100644
index e3b1278641..0000000000
--- a/applications/solvers/multiphase/multiphaseEulerFoam/UEqns.H
+++ /dev/null
@@ -1,62 +0,0 @@
-#include "MRFCorrectBCs.H"
-
-PtrList UEqns(fluid.phases().size());
-autoPtr dragCoeffs(fluid.dragCoeffs());
-
-int phasei = 0;
-forAllIter(PtrDictionary, fluid.phases(), iter)
-{
- phaseModel& phase = iter();
- const volScalarField& alpha = phase;
- volVectorField& U = phase.U();
-
- volScalarField nuEff(turbulence->nut() + iter().nu());
-
- UEqns.set
- (
- phasei,
- new fvVectorMatrix
- (
- fvm::ddt(alpha, U)
- + fvm::div(phase.alphaPhi(), U)
-
- + (alpha/phase.rho())*fluid.Cvm(phase)*
- (
- fvm::ddt(U)
- + fvm::div(phase.phi(), U)
- - fvm::Sp(fvc::div(phase.phi()), U)
- )
-
- - fvm::laplacian(alpha*nuEff, U)
- - fvc::div
- (
- alpha*(nuEff*dev(T(fvc::grad(U))) /*- ((2.0/3.0)*I)*k*/),
- "div(Rc)"
- )
- ==
- //- fvm::Sp(fluid.dragCoeff(phase, dragCoeffs())/phase.rho(), U)
- //- (alpha*phase.rho())*fluid.lift(phase)
- //+
- (alpha/phase.rho())*fluid.Svm(phase)
- - fvm::Sp
- (
- slamDampCoeff
- *max
- (
- mag(U()) - maxSlamVelocity,
- dimensionedScalar(dimVelocity, 0)
- )
- /pow(mesh.V(), 1.0/3.0),
- U
- )
- )
- );
- MRF.addAcceleration
- (
- alpha*(1 + (1/phase.rho())*fluid.Cvm(phase)),
- UEqns[phasei]
- );
- // UEqns[phasei].relax();
-
- phasei++;
-}
diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/correctPhi.H b/applications/solvers/multiphase/multiphaseEulerFoam/correctPhi.H
deleted file mode 100644
index f032f02072..0000000000
--- a/applications/solvers/multiphase/multiphaseEulerFoam/correctPhi.H
+++ /dev/null
@@ -1,12 +0,0 @@
-CorrectPhi
-(
- U,
- phi,
- p_rgh,
- dimensionedScalar("rAUf", dimTime/rho.dimensions(), 1),
- geometricZeroField(),
- pimple,
- true
-);
-
-#include "continuityErrs.H"
diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/createFields.H b/applications/solvers/multiphase/multiphaseEulerFoam/createFields.H
deleted file mode 100644
index 0ff777fd1c..0000000000
--- a/applications/solvers/multiphase/multiphaseEulerFoam/createFields.H
+++ /dev/null
@@ -1,107 +0,0 @@
-Info<< "Reading field p_rgh\n" << endl;
-volScalarField p_rgh
-(
- IOobject
- (
- "p_rgh",
- runTime.timeName(),
- mesh,
- IOobject::MUST_READ,
- IOobject::AUTO_WRITE
- ),
- mesh
-);
-
-volVectorField U
-(
- IOobject
- (
- "U",
- runTime.timeName(),
- mesh,
- IOobject::NO_READ,
- IOobject::AUTO_WRITE
- ),
- mesh,
- dimensionedVector(dimVelocity, Zero)
-);
-
-surfaceScalarField phi
-(
- IOobject
- (
- "phi",
- runTime.timeName(),
- mesh,
- IOobject::NO_READ,
- IOobject::AUTO_WRITE
- ),
- mesh,
- dimensionedScalar(dimArea*dimVelocity, 0)
-);
-
-multiphaseSystem fluid(U, phi);
-
-forAllIter(PtrDictionary, fluid.phases(), iter)
-{
- phaseModel& phase = iter();
- const volScalarField& alpha = phase;
-
- U += alpha*phase.U();
- phi += fvc::interpolate(alpha)*phase.phi();
-}
-
-
-volScalarField rho
-(
- IOobject
- (
- "rho",
- runTime.timeName(),
- mesh,
- IOobject::NO_READ,
- IOobject::AUTO_WRITE
- ),
- fluid.rho()
-);
-
-
-// Construct incompressible turbulence model
-autoPtr turbulence
-(
- incompressible::momentumTransportModel::New(U, phi, fluid)
-);
-
-
-#include "readGravitationalAcceleration.H"
-#include "readhRef.H"
-#include "gh.H"
-
-
-volScalarField p
-(
- IOobject
- (
- "p",
- runTime.timeName(),
- mesh,
- IOobject::NO_READ,
- IOobject::AUTO_WRITE
- ),
- p_rgh + rho*gh
-);
-
-label pRefCell = 0;
-scalar pRefValue = 0.0;
-setRefCell
-(
- p,
- p_rgh,
- pimple.dict(),
- pRefCell,
- pRefValue
-);
-mesh.setFluxRequired(p_rgh.name());
-
-
-#include "createMRFZones.H"
diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/createMRFZones.H b/applications/solvers/multiphase/multiphaseEulerFoam/createMRFZones.H
deleted file mode 100644
index ea04f3efa0..0000000000
--- a/applications/solvers/multiphase/multiphaseEulerFoam/createMRFZones.H
+++ /dev/null
@@ -1,8 +0,0 @@
- IOMRFZoneList MRF(mesh);
-
- forAllIter(PtrDictionary, fluid.phases(), iter)
- {
- MRF.correctBoundaryVelocity(iter().U());
- }
-
- MRF.correctBoundaryVelocity(U);
diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/Make/files b/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/Make/files
deleted file mode 100644
index ff81afc634..0000000000
--- a/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/Make/files
+++ /dev/null
@@ -1,17 +0,0 @@
-dragModels/dragModel/dragModel.C
-dragModels/dragModel/newDragModel.C
-dragModels/Ergun/Ergun.C
-dragModels/GidaspowErgunWenYu/GidaspowErgunWenYu.C
-dragModels/GidaspowSchillerNaumann/GidaspowSchillerNaumann.C
-dragModels/SchillerNaumann/SchillerNaumann.C
-dragModels/Gibilaro/Gibilaro.C
-dragModels/WenYu/WenYu.C
-dragModels/SyamlalOBrien/SyamlalOBrien.C
-dragModels/blended/blended.C
-dragModels/interface/interface.C
-
-heatTransferModels/heatTransferModel/heatTransferModel.C
-heatTransferModels/heatTransferModel/newHeatTransferModel.C
-heatTransferModels/RanzMarshall/RanzMarshall.C
-
-LIB = $(FOAM_LIBBIN)/libcompressibleMultiphaseEulerianInterfacialModels
diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/Make/options b/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/Make/options
deleted file mode 100644
index 682a236843..0000000000
--- a/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/Make/options
+++ /dev/null
@@ -1,6 +0,0 @@
-EXE_INC = \
- -I../multiphaseSystem/lnInclude \
- -I$(LIB_SRC)/finiteVolume/lnInclude
-
-LIB_LIBS = \
- -lmultiphaseSystem
diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/dragModels/Ergun/Ergun.C b/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/dragModels/Ergun/Ergun.C
deleted file mode 100644
index 49fa0269ac..0000000000
--- a/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/dragModels/Ergun/Ergun.C
+++ /dev/null
@@ -1,82 +0,0 @@
-/*---------------------------------------------------------------------------*\
- ========= |
- \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
- \\ / O peration | Website: https://openfoam.org
- \\ / A nd | Copyright (C) 2011-2018 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 .
-
-\*---------------------------------------------------------------------------*/
-
-#include "Ergun.H"
-#include "addToRunTimeSelectionTable.H"
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace dragModels
-{
- defineTypeNameAndDebug(Ergun, 0);
-
- addToRunTimeSelectionTable
- (
- dragModel,
- Ergun,
- dictionary
- );
-}
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
-
-Foam::dragModels::Ergun::Ergun
-(
- const dictionary& interfaceDict,
- const phaseModel& phase1,
- const phaseModel& phase2
-)
-:
- dragModel(interfaceDict, phase1, phase2)
-{}
-
-
-// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
-
-Foam::dragModels::Ergun::~Ergun()
-{}
-
-
-// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
-
-Foam::tmp Foam::dragModels::Ergun::K
-(
- const volScalarField& Ur
-) const
-{
- volScalarField alpha2(max(phase2_, scalar(1.0e-6)));
-
- return
- 150.0*phase1_*phase2_.nu()*phase2_.rho()
- /sqr(alpha2*phase1_.d())
- + 1.75*phase2_.rho()*Ur/(alpha2*phase1_.d());
-}
-
-
-// ************************************************************************* //
diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/dragModels/Ergun/Ergun.H b/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/dragModels/Ergun/Ergun.H
deleted file mode 100644
index 3db5b19056..0000000000
--- a/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/dragModels/Ergun/Ergun.H
+++ /dev/null
@@ -1,95 +0,0 @@
-/*---------------------------------------------------------------------------*\
- ========= |
- \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
- \\ / O peration | Website: https://openfoam.org
- \\ / A nd | Copyright (C) 2011-2018 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 .
-
-Class
- Foam::dragModels::Ergun
-
-Description
- H, Enwald, E. Peirano, A-E Almstedt
- 'Eulerian Two-Phase Flow Theory Applied to Fluidization'
- Int. J. Multiphase Flow, Vol. 22, Suppl, pp. 21-66 (1996)
- Eq. 104, p. 42
-
-SourceFiles
- Ergun.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef Ergun_H
-#define Ergun_H
-
-#include "dragModel.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace dragModels
-{
-
-/*---------------------------------------------------------------------------*\
- Class Ergun Declaration
-\*---------------------------------------------------------------------------*/
-
-class Ergun
-:
- public dragModel
-{
-
-public:
-
- //- Runtime type information
- TypeName("Ergun");
-
-
- // Constructors
-
- //- Construct from components
- Ergun
- (
- const dictionary& interfaceDict,
- const phaseModel& phase1,
- const phaseModel& phase2
- );
-
-
- //- Destructor
- virtual ~Ergun();
-
-
- // Member Functions
-
- tmp K(const volScalarField& Ur) const;
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace dragModels
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/dragModels/Gibilaro/Gibilaro.C b/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/dragModels/Gibilaro/Gibilaro.C
deleted file mode 100644
index 16089e7156..0000000000
--- a/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/dragModels/Gibilaro/Gibilaro.C
+++ /dev/null
@@ -1,81 +0,0 @@
-/*---------------------------------------------------------------------------*\
- ========= |
- \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
- \\ / O peration | Website: https://openfoam.org
- \\ / A nd | Copyright (C) 2011-2018 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 .
-
-\*---------------------------------------------------------------------------*/
-
-#include "Gibilaro.H"
-#include "addToRunTimeSelectionTable.H"
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace dragModels
-{
- defineTypeNameAndDebug(Gibilaro, 0);
-
- addToRunTimeSelectionTable
- (
- dragModel,
- Gibilaro,
- dictionary
- );
-}
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
-
-Foam::dragModels::Gibilaro::Gibilaro
-(
- const dictionary& interfaceDict,
- const phaseModel& phase1,
- const phaseModel& phase2
-)
-:
- dragModel(interfaceDict, phase1, phase2)
-{}
-
-
-// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
-
-Foam::dragModels::Gibilaro::~Gibilaro()
-{}
-
-
-// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
-
-Foam::tmp Foam::dragModels::Gibilaro::K
-(
- const volScalarField& Ur
-) const
-{
- volScalarField alpha2(max(phase2_, scalar(1.0e-6)));
- volScalarField bp(pow(alpha2, -2.8));
- volScalarField Re(max(alpha2*Ur*phase1_.d()/phase2_.nu(), scalar(1.0e-3)));
-
- return (17.3/Re + scalar(0.336))*phase2_.rho()*Ur*bp/phase1_.d();
-}
-
-
-// ************************************************************************* //
diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/dragModels/Gibilaro/Gibilaro.H b/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/dragModels/Gibilaro/Gibilaro.H
deleted file mode 100644
index 25c1ac0e02..0000000000
--- a/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/dragModels/Gibilaro/Gibilaro.H
+++ /dev/null
@@ -1,95 +0,0 @@
-/*---------------------------------------------------------------------------*\
- ========= |
- \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
- \\ / O peration | Website: https://openfoam.org
- \\ / A nd | Copyright (C) 2011-2018 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 .
-
-Class
- Foam::dragModels::Gibilaro
-
-Description
- H, Enwald, E. Peirano, A-E Almstedt
- 'Eulerian Two-Phase Flow Theory Applied to Fluidization'
- Int. J. Multiphase Flow, Vol. 22, Suppl, pp. 21-66 (1996)
- Eq. 106, p. 43
-
-SourceFiles
- Gibilaro.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef Gibilaro_H
-#define Gibilaro_H
-
-#include "dragModel.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace dragModels
-{
-
-/*---------------------------------------------------------------------------*\
- Class Gibilaro Declaration
-\*---------------------------------------------------------------------------*/
-
-class Gibilaro
-:
- public dragModel
-{
-
-public:
-
- //- Runtime type information
- TypeName("Gibilaro");
-
-
- // Constructors
-
- //- Construct from components
- Gibilaro
- (
- const dictionary& interfaceDict,
- const phaseModel& phase1,
- const phaseModel& phase2
- );
-
-
- //- Destructor
- virtual ~Gibilaro();
-
-
- // Member Functions
-
- tmp K(const volScalarField& Ur) const;
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace dragModels
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/dragModels/GidaspowErgunWenYu/GidaspowErgunWenYu.C b/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/dragModels/GidaspowErgunWenYu/GidaspowErgunWenYu.C
deleted file mode 100644
index 929abc1a57..0000000000
--- a/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/dragModels/GidaspowErgunWenYu/GidaspowErgunWenYu.C
+++ /dev/null
@@ -1,98 +0,0 @@
-/*---------------------------------------------------------------------------*\
- ========= |
- \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
- \\ / O peration | Website: https://openfoam.org
- \\ / A nd | Copyright (C) 2011-2018 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 .
-
-\*---------------------------------------------------------------------------*/
-
-#include "GidaspowErgunWenYu.H"
-#include "addToRunTimeSelectionTable.H"
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace dragModels
-{
- defineTypeNameAndDebug(GidaspowErgunWenYu, 0);
-
- addToRunTimeSelectionTable
- (
- dragModel,
- GidaspowErgunWenYu,
- dictionary
- );
-}
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
-
-Foam::dragModels::GidaspowErgunWenYu::GidaspowErgunWenYu
-(
- const dictionary& interfaceDict,
- const phaseModel& phase1,
- const phaseModel& phase2
-)
-:
- dragModel(interfaceDict, phase1, phase2)
-{}
-
-
-// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
-
-Foam::dragModels::GidaspowErgunWenYu::~GidaspowErgunWenYu()
-{}
-
-
-// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
-
-Foam::tmp Foam::dragModels::GidaspowErgunWenYu::K
-(
- const volScalarField& Ur
-) const
-{
- volScalarField alpha2(max(phase2_, scalar(1.0e-6)));
- volScalarField d(phase1_.d());
- volScalarField bp(pow(alpha2, -2.65));
- volScalarField Re(max(Ur*d/phase2_.nu(), scalar(1.0e-3)));
-
- volScalarField Cds
- (
- neg(Re - 1000)*(24.0*(1.0 + 0.15*pow(Re, 0.687))/Re)
- + pos0(Re - 1000)*0.44
- );
-
- // Wen and Yu (1966)
- return
- (
- pos0(alpha2 - 0.8)
- *(0.75*Cds*phase2_.rho()*Ur*bp/d)
- + neg(alpha2 - 0.8)
- *(
- 150.0*phase1_*phase2_.nu()*phase2_.rho()/(sqr(alpha2*d))
- + 1.75*phase2_.rho()*Ur/(alpha2*d)
- )
- );
-}
-
-
-// ************************************************************************* //
diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/dragModels/GidaspowErgunWenYu/GidaspowErgunWenYu.H b/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/dragModels/GidaspowErgunWenYu/GidaspowErgunWenYu.H
deleted file mode 100644
index f0a2e6330a..0000000000
--- a/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/dragModels/GidaspowErgunWenYu/GidaspowErgunWenYu.H
+++ /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-2018 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 .
-
-Class
- Foam::dragModels::GidaspowErgunWenYu
-
-Description
- D. Gidaspow, Multiphase flow and fluidization,
- Academic Press, New York, 1994.
-
-SourceFiles
- GidaspowErgunWenYu.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef GidaspowErgunWenYu_H
-#define GidaspowErgunWenYu_H
-
-#include "dragModel.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace dragModels
-{
-
-/*---------------------------------------------------------------------------*\
- Class GidaspowErgunWenYu Declaration
-\*---------------------------------------------------------------------------*/
-
-class GidaspowErgunWenYu
-:
- public dragModel
-{
-
-public:
-
- //- Runtime type information
- TypeName("GidaspowErgunWenYu");
-
-
- // Constructors
-
- //- Construct from components
- GidaspowErgunWenYu
- (
- const dictionary& interfaceDict,
- const phaseModel& phase1,
- const phaseModel& phase2
- );
-
-
- //- Destructor
- virtual ~GidaspowErgunWenYu();
-
-
- // Member Functions
-
- tmp K(const volScalarField& Ur) const;
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace dragModels
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/dragModels/GidaspowSchillerNaumann/GidaspowSchillerNaumann.C b/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/dragModels/GidaspowSchillerNaumann/GidaspowSchillerNaumann.C
deleted file mode 100644
index 940367f440..0000000000
--- a/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/dragModels/GidaspowSchillerNaumann/GidaspowSchillerNaumann.C
+++ /dev/null
@@ -1,87 +0,0 @@
-/*---------------------------------------------------------------------------*\
- ========= |
- \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
- \\ / O peration | Website: https://openfoam.org
- \\ / A nd | Copyright (C) 2011-2018 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 .
-
-\*---------------------------------------------------------------------------*/
-
-#include "GidaspowSchillerNaumann.H"
-#include "addToRunTimeSelectionTable.H"
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace dragModels
-{
- defineTypeNameAndDebug(GidaspowSchillerNaumann, 0);
-
- addToRunTimeSelectionTable
- (
- dragModel,
- GidaspowSchillerNaumann,
- dictionary
- );
-}
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
-
-Foam::dragModels::GidaspowSchillerNaumann::GidaspowSchillerNaumann
-(
- const dictionary& interfaceDict,
- const phaseModel& phase1,
- const phaseModel& phase2
-)
-:
- dragModel(interfaceDict, phase1, phase2)
-{}
-
-
-// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
-
-Foam::dragModels::GidaspowSchillerNaumann::~GidaspowSchillerNaumann()
-{}
-
-
-// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
-
-Foam::tmp Foam::dragModels::GidaspowSchillerNaumann::K
-(
- const volScalarField& Ur
-) const
-{
- volScalarField alpha2(max(phase2_, scalar(1e-6)));
- volScalarField bp(pow(alpha2, -2.65));
-
- volScalarField Re(max(alpha2*Ur*phase1_.d()/phase2_.nu(), scalar(1.0e-3)));
- volScalarField Cds
- (
- neg(Re - 1000)*(24.0*(1.0 + 0.15*pow(Re, 0.687))/Re)
- + pos0(Re - 1000)*0.44
- );
-
- return 0.75*Cds*phase2_.rho()*Ur*bp/phase1_.d();
-}
-
-
-// ************************************************************************* //
diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/dragModels/GidaspowSchillerNaumann/GidaspowSchillerNaumann.H b/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/dragModels/GidaspowSchillerNaumann/GidaspowSchillerNaumann.H
deleted file mode 100644
index 5b7bb03d4b..0000000000
--- a/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/dragModels/GidaspowSchillerNaumann/GidaspowSchillerNaumann.H
+++ /dev/null
@@ -1,102 +0,0 @@
-/*---------------------------------------------------------------------------*\
- ========= |
- \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
- \\ / O peration | Website: https://openfoam.org
- \\ / A nd | Copyright (C) 2011-2018 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 .
-
-Class
- Foam::dragModels::GidaspowSchillerNaumann
-
-Description
- H, Enwald, E. Peirano, A-E Almstedt
- 'Eulerian Two-Phase Flow Theory Applied to Fluidization'
- Int. J. Multiphase Flow, Vol. 22, Suppl, pp. 21-66 (1996)
- Eq. 86-87, p. 40
-
- This is identical to the Wen and Yu, Rowe model Table 3.6 p.56 in
- the Ph.D. thesis of Berend van Wachem
- 'Derivation, Implementation and Validation
- of
- Computer Simulation Models
- for Gas-Solid Fluidized Beds'
-
-SourceFiles
- GidaspowSchillerNaumann.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef GidaspowSchillerNaumann_H
-#define GidaspowSchillerNaumann_H
-
-#include "dragModel.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace dragModels
-{
-
-/*---------------------------------------------------------------------------*\
- Class GidaspowSchillerNaumann Declaration
-\*---------------------------------------------------------------------------*/
-
-class GidaspowSchillerNaumann
-:
- public dragModel
-{
-
-public:
-
- //- Runtime type information
- TypeName("GidaspowSchillerNaumann");
-
-
- // Constructors
-
- //- Construct from components
- GidaspowSchillerNaumann
- (
- const dictionary& interfaceDict,
- const phaseModel& phase1,
- const phaseModel& phase2
- );
-
-
- //- Destructor
- virtual ~GidaspowSchillerNaumann();
-
-
- // Member Functions
-
- tmp K(const volScalarField& Ur) const;
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace dragModels
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/dragModels/SchillerNaumann/SchillerNaumann.C b/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/dragModels/SchillerNaumann/SchillerNaumann.C
deleted file mode 100644
index c3432955b7..0000000000
--- a/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/dragModels/SchillerNaumann/SchillerNaumann.C
+++ /dev/null
@@ -1,84 +0,0 @@
-/*---------------------------------------------------------------------------*\
- ========= |
- \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
- \\ / O peration | Website: https://openfoam.org
- \\ / A nd | Copyright (C) 2011-2018 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 .
-
-\*---------------------------------------------------------------------------*/
-
-#include "SchillerNaumann.H"
-#include "addToRunTimeSelectionTable.H"
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace dragModels
-{
- defineTypeNameAndDebug(SchillerNaumann, 0);
-
- addToRunTimeSelectionTable
- (
- dragModel,
- SchillerNaumann,
- dictionary
- );
-}
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
-
-Foam::dragModels::SchillerNaumann::SchillerNaumann
-(
- const dictionary& interfaceDict,
- const phaseModel& phase1,
- const phaseModel& phase2
-)
-:
- dragModel(interfaceDict, phase1, phase2)
-{}
-
-
-// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
-
-Foam::dragModels::SchillerNaumann::~SchillerNaumann()
-{}
-
-
-// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
-
-Foam::tmp Foam::dragModels::SchillerNaumann::K
-(
- const volScalarField& Ur
-) const
-{
- volScalarField Re(max(Ur*phase1_.d()/phase2_.nu(), scalar(1.0e-3)));
- volScalarField Cds
- (
- neg(Re - 1000)*(24.0*(1.0 + 0.15*pow(Re, 0.687))/Re)
- + pos0(Re - 1000)*0.44
- );
-
- return 0.75*Cds*phase2_.rho()*Ur/phase1_.d();
-}
-
-
-// ************************************************************************* //
diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/dragModels/SchillerNaumann/SchillerNaumann.H b/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/dragModels/SchillerNaumann/SchillerNaumann.H
deleted file mode 100644
index 0d99489543..0000000000
--- a/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/dragModels/SchillerNaumann/SchillerNaumann.H
+++ /dev/null
@@ -1,91 +0,0 @@
-/*---------------------------------------------------------------------------*\
- ========= |
- \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
- \\ / O peration | Website: https://openfoam.org
- \\ / A nd | Copyright (C) 2011-2018 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 .
-
-Class
- Foam::dragModels::SchillerNaumann
-
-Description
-
-SourceFiles
- SchillerNaumann.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef SchillerNaumann_H
-#define SchillerNaumann_H
-
-#include "dragModel.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace dragModels
-{
-
-/*---------------------------------------------------------------------------*\
- Class SchillerNaumann Declaration
-\*---------------------------------------------------------------------------*/
-
-class SchillerNaumann
-:
- public dragModel
-{
-
-public:
-
- //- Runtime type information
- TypeName("SchillerNaumann");
-
-
- // Constructors
-
- //- Construct from components
- SchillerNaumann
- (
- const dictionary& interfaceDict,
- const phaseModel& phase1,
- const phaseModel& phase2
- );
-
-
- //- Destructor
- virtual ~SchillerNaumann();
-
-
- // Member Functions
-
- tmp K(const volScalarField& Ur) const;
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace dragModels
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/dragModels/SyamlalOBrien/SyamlalOBrien.C b/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/dragModels/SyamlalOBrien/SyamlalOBrien.C
deleted file mode 100644
index de2c2e5298..0000000000
--- a/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/dragModels/SyamlalOBrien/SyamlalOBrien.C
+++ /dev/null
@@ -1,97 +0,0 @@
-/*---------------------------------------------------------------------------*\
- ========= |
- \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
- \\ / O peration | Website: https://openfoam.org
- \\ / A nd | Copyright (C) 2011-2018 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 .
-
-\*---------------------------------------------------------------------------*/
-
-#include "SyamlalOBrien.H"
-#include "addToRunTimeSelectionTable.H"
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace dragModels
-{
- defineTypeNameAndDebug(SyamlalOBrien, 0);
-
- addToRunTimeSelectionTable
- (
- dragModel,
- SyamlalOBrien,
- dictionary
- );
-}
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
-
-Foam::dragModels::SyamlalOBrien::SyamlalOBrien
-(
- const dictionary& interfaceDict,
- const phaseModel& phase1,
- const phaseModel& phase2
-)
-:
- dragModel(interfaceDict, phase1, phase2)
-{}
-
-
-// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
-
-Foam::dragModels::SyamlalOBrien::~SyamlalOBrien()
-{}
-
-
-// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
-
-Foam::tmp Foam::dragModels::SyamlalOBrien::K
-(
- const volScalarField& Ur
-) const
-{
- volScalarField alpha2(max(phase2_, scalar(1.0e-6)));
- volScalarField A(pow(alpha2, 4.14));
- volScalarField B
- (
- neg(alpha2 - 0.85)*(0.8*pow(alpha2, 1.28))
- + pos0(alpha2 - 0.85)*(pow(alpha2, 2.65))
- );
-
- volScalarField Re(max(Ur*phase1_.d()/phase2_.nu(), scalar(1.0e-3)));
-
- volScalarField Vr
- (
- 0.5*
- (
- A - 0.06*Re + sqrt(sqr(0.06*Re) + 0.12*Re*(2.0*B - A) + sqr(A))
- )
- );
-
- volScalarField Cds(sqr(0.63 + 4.8*sqrt(Vr/Re)));
-
- return 0.75*Cds*phase2_.rho()*Ur/(phase1_.d()*sqr(Vr));
-}
-
-
-// ************************************************************************* //
diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/dragModels/SyamlalOBrien/SyamlalOBrien.H b/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/dragModels/SyamlalOBrien/SyamlalOBrien.H
deleted file mode 100644
index d9c52087ea..0000000000
--- a/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/dragModels/SyamlalOBrien/SyamlalOBrien.H
+++ /dev/null
@@ -1,94 +0,0 @@
-/*---------------------------------------------------------------------------*\
- ========= |
- \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
- \\ / O peration | Website: https://openfoam.org
- \\ / A nd | Copyright (C) 2011-2018 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 .
-
-Class
- Foam::dragModels::SyamlalOBrien
-
-Description
- Syamlal, M., Rogers, W. and O'Brien, T. J. (1993) MFIX documentation,
- Theory Guide. Technical Note DOE/METC-94/1004. Morgantown, West Virginia,
- USA.
-
-SourceFiles
- SyamlalOBrien.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef SyamlalOBrien_H
-#define SyamlalOBrien_H
-
-#include "dragModel.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace dragModels
-{
-
-/*---------------------------------------------------------------------------*\
- Class SyamlalOBrien Declaration
-\*---------------------------------------------------------------------------*/
-
-class SyamlalOBrien
-:
- public dragModel
-{
-
-public:
-
- //- Runtime type information
- TypeName("SyamlalOBrien");
-
-
- // Constructors
-
- //- Construct from components
- SyamlalOBrien
- (
- const dictionary& interfaceDict,
- const phaseModel& phase1,
- const phaseModel& phase2
- );
-
-
- //- Destructor
- virtual ~SyamlalOBrien();
-
-
- // Member Functions
-
- tmp K(const volScalarField& Ur) const;
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace dragModels
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/dragModels/WenYu/WenYu.C b/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/dragModels/WenYu/WenYu.C
deleted file mode 100644
index a708b03ade..0000000000
--- a/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/dragModels/WenYu/WenYu.C
+++ /dev/null
@@ -1,87 +0,0 @@
-/*---------------------------------------------------------------------------*\
- ========= |
- \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
- \\ / O peration | Website: https://openfoam.org
- \\ / A nd | Copyright (C) 2011-2018 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 .
-
-\*---------------------------------------------------------------------------*/
-
-#include "WenYu.H"
-#include "addToRunTimeSelectionTable.H"
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace dragModels
-{
- defineTypeNameAndDebug(WenYu, 0);
-
- addToRunTimeSelectionTable
- (
- dragModel,
- WenYu,
- dictionary
- );
-}
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
-
-Foam::dragModels::WenYu::WenYu
-(
- const dictionary& interfaceDict,
- const phaseModel& phase1,
- const phaseModel& phase2
-)
-:
- dragModel(interfaceDict, phase1, phase2)
-{}
-
-
-// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
-
-Foam::dragModels::WenYu::~WenYu()
-{}
-
-
-// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
-
-Foam::tmp Foam::dragModels::WenYu::K
-(
- const volScalarField& Ur
-) const
-{
- volScalarField alpha2(max(phase2_, scalar(1.0e-6)));
- volScalarField bp(pow(alpha2, -2.65));
-
- volScalarField Re(max(Ur*phase1_.d()/phase2_.nu(), scalar(1.0e-3)));
- volScalarField Cds
- (
- neg(Re - 1000)*(24.0*(1.0 + 0.15*pow(Re, 0.687))/Re)
- + pos0(Re - 1000)*0.44
- );
-
- return 0.75*Cds*phase2_.rho()*Ur*bp/phase1_.d();
-}
-
-
-// ************************************************************************* //
diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/dragModels/WenYu/WenYu.H b/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/dragModels/WenYu/WenYu.H
deleted file mode 100644
index 062f317aef..0000000000
--- a/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/dragModels/WenYu/WenYu.H
+++ /dev/null
@@ -1,105 +0,0 @@
-/*---------------------------------------------------------------------------*\
- ========= |
- \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
- \\ / O peration | Website: https://openfoam.org
- \\ / A nd | Copyright (C) 2011-2018 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 .
-
-Class
- Foam::dragModels::WenYu
-
-Description
- H, Enwald, E. Peirano, A-E Almstedt
- 'Eulerian Two-Phase Flow Theory Applied to Fluidization'
- Int. J. Multiphase Flow, Vol. 22, Suppl, pp. 21-66 (1996)
- Eq. 86-87, p. 40
-
- This is identical to the Wen and Yu, Rowe model Table 3.6 p.56 in
- the Ph.D. thesis of Berend van Wachem
- 'Derivation, Implementation and Validation
- of
- Computer Simulation Models
- for Gas-Solid Fluidized Beds'
-
- NB: The difference between the Gidaspow-version is the void-fraction
- in the Re-number
-
-SourceFiles
- WenYu.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef WenYu_H
-#define WenYu_H
-
-#include "dragModel.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace dragModels
-{
-
-/*---------------------------------------------------------------------------*\
- Class WenYu Declaration
-\*---------------------------------------------------------------------------*/
-
-class WenYu
-:
- public dragModel
-{
-
-public:
-
- //- Runtime type information
- TypeName("WenYu");
-
-
- // Constructors
-
- //- Construct from components
- WenYu
- (
- const dictionary& interfaceDict,
- const phaseModel& phase1,
- const phaseModel& phase2
- );
-
-
- //- Destructor
- virtual ~WenYu();
-
-
- // Member Functions
-
- tmp K(const volScalarField& Ur) const;
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace dragModels
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/dragModels/blended/blended.C b/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/dragModels/blended/blended.C
deleted file mode 100644
index 7ed1126c9c..0000000000
--- a/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/dragModels/blended/blended.C
+++ /dev/null
@@ -1,79 +0,0 @@
-/*---------------------------------------------------------------------------*\
- ========= |
- \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
- \\ / O peration | Website: https://openfoam.org
- \\ / A nd | Copyright (C) 2011-2018 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 .
-
-\*---------------------------------------------------------------------------*/
-
-#include "blended.H"
-#include "addToRunTimeSelectionTable.H"
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace dragModels
-{
- defineTypeNameAndDebug(blended, 0);
-
- addToRunTimeSelectionTable
- (
- dragModel,
- blended,
- dictionary
- );
-}
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
-
-Foam::dragModels::blended::blended
-(
- const dictionary& interfaceDict,
- const phaseModel& phase1,
- const phaseModel& phase2
-)
-:
- dragModel(interfaceDict, phase1, phase2),
- dragModel1_(New(interfaceDict.subDict(phase1.name()), phase1, phase2)),
- dragModel2_(New(interfaceDict.subDict(phase2.name()), phase2, phase1))
-{}
-
-
-// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
-
-Foam::dragModels::blended::~blended()
-{}
-
-
-// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
-
-Foam::tmp Foam::dragModels::blended::K
-(
- const volScalarField& Ur
-) const
-{
- return phase2()*dragModel1_->K(Ur) + phase1()*dragModel2_->K(Ur);
-}
-
-
-// ************************************************************************* //
diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/dragModels/blended/blended.H b/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/dragModels/blended/blended.H
deleted file mode 100644
index 5e4c3e4e1c..0000000000
--- a/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/dragModels/blended/blended.H
+++ /dev/null
@@ -1,99 +0,0 @@
-/*---------------------------------------------------------------------------*\
- ========= |
- \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
- \\ / O peration | Website: https://openfoam.org
- \\ / A nd | Copyright (C) 2011-2019 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 .
-
-Class
- Foam::dragModels::blended
-
-Description
- Blends two drag models based on the phase fractions to handle
- phase-inversion.
-
-SourceFiles
- blended.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef blended_H
-#define blended_H
-
-#include "dragModel.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace dragModels
-{
-
-/*---------------------------------------------------------------------------*\
- Class blended Declaration
-\*---------------------------------------------------------------------------*/
-
-class blended
-:
- public dragModel
-{
- // Private Data
-
- // The two drag models to be blended
- autoPtr dragModel1_;
- autoPtr dragModel2_;
-
-
-public:
-
- //- Runtime type information
- TypeName("blended");
-
-
- // Constructors
-
- //- Construct from components
- blended
- (
- const dictionary& interfaceDict,
- const phaseModel& phase1,
- const phaseModel& phase2
- );
-
-
- //- Destructor
- virtual ~blended();
-
-
- // Member Functions
-
- tmp K(const volScalarField& Ur) const;
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace dragModels
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/dragModels/dragModel/dragModel.C b/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/dragModels/dragModel/dragModel.C
deleted file mode 100644
index 29d585f6f0..0000000000
--- a/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/dragModels/dragModel/dragModel.C
+++ /dev/null
@@ -1,70 +0,0 @@
-/*---------------------------------------------------------------------------*\
- ========= |
- \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
- \\ / O peration | Website: https://openfoam.org
- \\ / A nd | Copyright (C) 2011-2018 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 .
-
-\*---------------------------------------------------------------------------*/
-
-#include "dragModel.H"
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-namespace Foam
-{
- defineTypeNameAndDebug(dragModel, 0);
- defineRunTimeSelectionTable(dragModel, dictionary);
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
-
-Foam::dragModel::dragModel
-(
- const dictionary& interfaceDict,
- const phaseModel& phase1,
- const phaseModel& phase2
-)
-:
- interfaceDict_(interfaceDict),
- phase1_(phase1),
- phase2_(phase2),
- residualPhaseFraction_
- (
- "residualPhaseFraction",
- dimless,
- interfaceDict.lookup("residualPhaseFraction")
- ),
- residualSlip_
- (
- "residualSlip",
- dimVelocity,
- interfaceDict.lookup("residualSlip")
- )
-{}
-
-
-// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
-
-Foam::dragModel::~dragModel()
-{}
-
-
-// ************************************************************************* //
diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/dragModels/dragModel/dragModel.H b/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/dragModels/dragModel/dragModel.H
deleted file mode 100644
index 70a359d56d..0000000000
--- a/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/dragModels/dragModel/dragModel.H
+++ /dev/null
@@ -1,152 +0,0 @@
-/*---------------------------------------------------------------------------*\
- ========= |
- \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
- \\ / O peration | Website: https://openfoam.org
- \\ / A nd | Copyright (C) 2011-2019 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 .
-
-Class
- Foam::dragModel
-
-Description
-
-SourceFiles
- dragModel.C
- newDragModel.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef dragModel_H
-#define dragModel_H
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#include "dictionary.H"
-#include "phaseModel.H"
-#include "runTimeSelectionTables.H"
-
-namespace Foam
-{
-
-/*---------------------------------------------------------------------------*\
- Class dragModel Declaration
-\*---------------------------------------------------------------------------*/
-
-class dragModel
-{
-protected:
-
- // Protected data
-
- const dictionary& interfaceDict_;
- const phaseModel& phase1_;
- const phaseModel& phase2_;
- dimensionedScalar residualPhaseFraction_;
- dimensionedScalar residualSlip_;
-
-public:
-
- //- Runtime type information
- TypeName("dragModel");
-
-
- // Declare runtime construction
-
- declareRunTimeSelectionTable
- (
- autoPtr,
- dragModel,
- dictionary,
- (
- const dictionary& interfaceDict,
- const phaseModel& phase1,
- const phaseModel& phase2
- ),
- (interfaceDict, phase1, phase2)
- );
-
-
- // Constructors
-
- dragModel
- (
- const dictionary& interfaceDict,
- const phaseModel& phase1,
- const phaseModel& phase2
- );
-
-
- //- Destructor
- virtual ~dragModel();
-
-
- // Selectors
-
- static autoPtr New
- (
- const dictionary& interfaceDict,
- const phaseModel& phase1,
- const phaseModel& phase2
- );
-
-
- // Member Functions
-
- const phaseModel& phase1() const
- {
- return phase1_;
- }
-
- const phaseModel& phase2() const
- {
- return phase2_;
- }
-
- const dimensionedScalar& residualPhaseFraction() const
- {
- return residualPhaseFraction_;
- }
-
- const dimensionedScalar& residualSlip() const
- {
- return residualSlip_;
- }
-
- //- The dragfunction K used in the momentum eq.
- // ddt(alpha1*rho1*U1) + ... = ... alpha1*alpha2*K*(U1-U2)
- // ddt(alpha2*rho2*U2) + ... = ... alpha1*alpha2*K*(U2-U1)
- // ********************************** NB! *****************************
- // for numerical reasons alpha1 and alpha2 has been
- // extracted from the dragFunction K,
- // so you MUST divide K by alpha1*alpha2 when implementing the drag
- // function
- // ********************************** NB! *****************************
- virtual tmp K(const volScalarField& Ur) const = 0;
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/dragModels/dragModel/newDragModel.C b/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/dragModels/dragModel/newDragModel.C
deleted file mode 100644
index 7022672ee3..0000000000
--- a/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/dragModels/dragModel/newDragModel.C
+++ /dev/null
@@ -1,61 +0,0 @@
-/*---------------------------------------------------------------------------*\
- ========= |
- \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
- \\ / O peration | Website: https://openfoam.org
- \\ / A nd | Copyright (C) 2011-2018 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 .
-
-\*---------------------------------------------------------------------------*/
-
-#include "dragModel.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-Foam::autoPtr Foam::dragModel::New
-(
- const dictionary& interfaceDict,
- const phaseModel& phase1,
- const phaseModel& phase2
-)
-{
- word dragModelType(interfaceDict.lookup("type"));
-
- Info << "Selecting dragModel for phase "
- << phase1.name()
- << ": "
- << dragModelType << endl;
-
- dictionaryConstructorTable::iterator cstrIter =
- dictionaryConstructorTablePtr_->find(dragModelType);
-
- if (cstrIter == dictionaryConstructorTablePtr_->end())
- {
- FatalErrorInFunction
- << "Unknown dragModelType type "
- << dragModelType << endl << endl
- << "Valid dragModel types are : " << endl
- << dictionaryConstructorTablePtr_->sortedToc()
- << exit(FatalError);
- }
-
- return cstrIter()(interfaceDict, phase1, phase2);
-}
-
-
-// ************************************************************************* //
diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/dragModels/interface/interface.C b/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/dragModels/interface/interface.C
deleted file mode 100644
index 923a29139d..0000000000
--- a/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/dragModels/interface/interface.C
+++ /dev/null
@@ -1,82 +0,0 @@
-/*---------------------------------------------------------------------------*\
- ========= |
- \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
- \\ / O peration | Website: https://openfoam.org
- \\ / A nd | Copyright (C) 2011-2018 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 .
-
-\*---------------------------------------------------------------------------*/
-
-#include "interface.H"
-#include "addToRunTimeSelectionTable.H"
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace dragModels
-{
- defineTypeNameAndDebug(interface, 0);
-
- addToRunTimeSelectionTable
- (
- dragModel,
- interface,
- dictionary
- );
-}
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
-
-Foam::dragModels::interface::interface
-(
- const dictionary& interfaceDict,
- const phaseModel& phase1,
- const phaseModel& phase2
-)
-:
- dragModel(interfaceDict, phase1, phase2)
-{}
-
-
-// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
-
-Foam::dragModels::interface::~interface()
-{}
-
-
-// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
-
-Foam::tmp Foam::dragModels::interface::K
-(
- const volScalarField& Ur
-) const
-{
- return volScalarField::New
- (
- "K",
- Ur.mesh(),
- dimensionedScalar(dimDensity/dimTime, 0)
- );
-}
-
-
-// ************************************************************************* //
diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/dragModels/interface/interface.H b/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/dragModels/interface/interface.H
deleted file mode 100644
index e0a46e517c..0000000000
--- a/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/dragModels/interface/interface.H
+++ /dev/null
@@ -1,92 +0,0 @@
-/*---------------------------------------------------------------------------*\
- ========= |
- \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
- \\ / O peration | Website: https://openfoam.org
- \\ / A nd | Copyright (C) 2011-2018 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 .
-
-Class
- Foam::dragModels::interface
-
-Description
- Drag between phase separated by a VoF resolved interface.
-
-SourceFiles
- interface.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef interface_H
-#define interface_H
-
-#include "dragModel.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace dragModels
-{
-
-/*---------------------------------------------------------------------------*\
- Class interface Declaration
-\*---------------------------------------------------------------------------*/
-
-class interface
-:
- public dragModel
-{
-
-public:
-
- //- Runtime type information
- TypeName("interface");
-
-
- // Constructors
-
- //- Construct from components
- interface
- (
- const dictionary& interfaceDict,
- const phaseModel& phase1,
- const phaseModel& phase2
- );
-
-
- //- Destructor
- virtual ~interface();
-
-
- // Member Functions
-
- tmp K(const volScalarField& Ur) const;
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace dragModels
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/heatTransferModels/RanzMarshall/RanzMarshall.C b/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/heatTransferModels/RanzMarshall/RanzMarshall.C
deleted file mode 100644
index 07039ea014..0000000000
--- a/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/heatTransferModels/RanzMarshall/RanzMarshall.C
+++ /dev/null
@@ -1,83 +0,0 @@
-/*---------------------------------------------------------------------------*\
- ========= |
- \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
- \\ / O peration | Website: https://openfoam.org
- \\ / A nd | Copyright (C) 2011-2018 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 .
-
-\*---------------------------------------------------------------------------*/
-
-#include "RanzMarshall.H"
-#include "addToRunTimeSelectionTable.H"
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace heatTransferModels
-{
- defineTypeNameAndDebug(RanzMarshall, 0);
-
- addToRunTimeSelectionTable
- (
- heatTransferModel,
- RanzMarshall,
- dictionary
- );
-}
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
-
-Foam::heatTransferModels::RanzMarshall::RanzMarshall
-(
- const dictionary& interfaceDict,
- const volScalarField& alpha1,
- const phaseModel& phase1,
- const phaseModel& phase2
-)
-:
- heatTransferModel(interfaceDict, alpha1, phase1, phase2)
-{}
-
-
-// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
-
-Foam::heatTransferModels::RanzMarshall::~RanzMarshall()
-{}
-
-
-// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
-
-Foam::tmp Foam::heatTransferModels::RanzMarshall::K
-(
- const volScalarField& Ur
-) const
-{
- volScalarField Re(max(Ur*phase1_.d()/phase2_.nu(), scalar(1.0e-3)));
- dimensionedScalar Prb =
- phase2_.rho()*phase2_.nu()*phase2_.Cp()/phase2_.kappa();
- volScalarField Nu(scalar(2) + 0.6*sqrt(Re)*cbrt(Prb));
-
- return 6.0*phase2_.kappa()*Nu/sqr(phase1_.d());
-}
-
-
-// ************************************************************************* //
diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/heatTransferModels/RanzMarshall/RanzMarshall.H b/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/heatTransferModels/RanzMarshall/RanzMarshall.H
deleted file mode 100644
index ebf1f8b555..0000000000
--- a/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/heatTransferModels/RanzMarshall/RanzMarshall.H
+++ /dev/null
@@ -1,92 +0,0 @@
-/*---------------------------------------------------------------------------*\
- ========= |
- \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
- \\ / O peration | Website: https://openfoam.org
- \\ / A nd | Copyright (C) 2011-2018 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 .
-
-Class
- Foam::heatTransferModels::RanzMarshall
-
-Description
-
-SourceFiles
- RanzMarshall.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef RanzMarshall_H
-#define RanzMarshall_H
-
-#include "heatTransferModel.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace heatTransferModels
-{
-
-/*---------------------------------------------------------------------------*\
- Class RanzMarshall Declaration
-\*---------------------------------------------------------------------------*/
-
-class RanzMarshall
-:
- public heatTransferModel
-{
-
-public:
-
- //- Runtime type information
- TypeName("RanzMarshall");
-
-
- // Constructors
-
- //- Construct from components
- RanzMarshall
- (
- const dictionary& interfaceDict,
- const volScalarField& alpha1,
- const phaseModel& phase1,
- const phaseModel& phase2
- );
-
-
- //- Destructor
- virtual ~RanzMarshall();
-
-
- // Member Functions
-
- tmp K(const volScalarField& Ur) const;
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace heatTransferModels
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/heatTransferModels/heatTransferModel/heatTransferModel.C b/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/heatTransferModels/heatTransferModel/heatTransferModel.C
deleted file mode 100644
index a790fa300b..0000000000
--- a/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/heatTransferModels/heatTransferModel/heatTransferModel.C
+++ /dev/null
@@ -1,60 +0,0 @@
-/*---------------------------------------------------------------------------*\
- ========= |
- \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
- \\ / O peration | Website: https://openfoam.org
- \\ / A nd | Copyright (C) 2011-2018 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 .
-
-\*---------------------------------------------------------------------------*/
-
-#include "heatTransferModel.H"
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-namespace Foam
-{
- defineTypeNameAndDebug(heatTransferModel, 0);
- defineRunTimeSelectionTable(heatTransferModel, dictionary);
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
-
-Foam::heatTransferModel::heatTransferModel
-(
- const dictionary& interfaceDict,
- const volScalarField& alpha1,
- const phaseModel& phase1,
- const phaseModel& phase2
-)
-:
- interfaceDict_(interfaceDict),
- alpha1_(alpha1),
- phase1_(phase1),
- phase2_(phase2)
-{}
-
-
-// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
-
-Foam::heatTransferModel::~heatTransferModel()
-{}
-
-
-// ************************************************************************* //
diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/heatTransferModels/heatTransferModel/heatTransferModel.H b/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/heatTransferModels/heatTransferModel/heatTransferModel.H
deleted file mode 100644
index 46188a1317..0000000000
--- a/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/heatTransferModels/heatTransferModel/heatTransferModel.H
+++ /dev/null
@@ -1,135 +0,0 @@
-/*---------------------------------------------------------------------------*\
- ========= |
- \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
- \\ / O peration | Website: https://openfoam.org
- \\ / A nd | Copyright (C) 2011-2018 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 .
-
-Class
- Foam::heatTransferModel
-
-Description
-
-SourceFiles
- heatTransferModel.C
- newHeatTransferModel.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef heatTransferModel_H
-#define heatTransferModel_H
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#include "dictionary.H"
-#include "phaseModel.H"
-#include "runTimeSelectionTables.H"
-
-namespace Foam
-{
-
-/*---------------------------------------------------------------------------*\
- Class heatTransferModel Declaration
-\*---------------------------------------------------------------------------*/
-
-class heatTransferModel
-{
-protected:
-
- // Protected data
-
- const dictionary& interfaceDict_;
- const volScalarField& alpha1_;
- const phaseModel& phase1_;
- const phaseModel& phase2_;
-
-
-public:
-
- //- Runtime type information
- TypeName("heatTransferModel");
-
-
- // Declare runtime construction
-
- declareRunTimeSelectionTable
- (
- autoPtr,
- heatTransferModel,
- dictionary,
- (
- const dictionary& interfaceDict,
- const volScalarField& alpha1,
- const phaseModel& phase1,
- const phaseModel& phase2
- ),
- (interfaceDict, alpha1, phase1, phase2)
- );
-
-
- // Constructors
-
- heatTransferModel
- (
- const dictionary& interfaceDict,
- const volScalarField& alpha1,
- const phaseModel& phase1,
- const phaseModel& phase2
- );
-
-
- //- Destructor
- virtual ~heatTransferModel();
-
-
- // Selectors
-
- static autoPtr New
- (
- const dictionary& interfaceDict,
- const volScalarField& alpha1,
- const phaseModel& phase1,
- const phaseModel& phase2
- );
-
-
- // Member Functions
-
- //- The heat-transfer function K used in the enthalpy eq.
- // ddt(alpha1*rho1*ha) + ... = ... alpha1*alpha2*K*(Ta - Tb)
- // ddt(alpha2*rho2*hb) + ... = ... alpha1*alpha2*K*(Tb - Ta)
- // ********************************** NB! *****************************
- // for numerical reasons alpha1 and alpha2 has been
- // extracted from the heat-transfer function K,
- // so you MUST divide K by alpha1*alpha2 when implementing the
- // heat-transfer function
- // ********************************** NB! *****************************
- virtual tmp K(const volScalarField& Ur) const = 0;
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/heatTransferModels/heatTransferModel/newHeatTransferModel.C b/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/heatTransferModels/heatTransferModel/newHeatTransferModel.C
deleted file mode 100644
index c49eba1f18..0000000000
--- a/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/heatTransferModels/heatTransferModel/newHeatTransferModel.C
+++ /dev/null
@@ -1,65 +0,0 @@
-/*---------------------------------------------------------------------------*\
- ========= |
- \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
- \\ / O peration | Website: https://openfoam.org
- \\ / A nd | Copyright (C) 2011-2018 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 .
-
-\*---------------------------------------------------------------------------*/
-
-#include "heatTransferModel.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-Foam::autoPtr Foam::heatTransferModel::New
-(
- const dictionary& interfaceDict,
- const volScalarField& alpha1,
- const phaseModel& phase1,
- const phaseModel& phase2
-)
-{
- word heatTransferModelType
- (
- interfaceDict.lookup("heatTransferModel" + phase1.name())
- );
-
- Info<< "Selecting heatTransferModel for phase "
- << phase1.name()
- << ": "
- << heatTransferModelType << endl;
-
- dictionaryConstructorTable::iterator cstrIter =
- dictionaryConstructorTablePtr_->find(heatTransferModelType);
-
- if (cstrIter == dictionaryConstructorTablePtr_->end())
- {
- FatalErrorInFunction
- << "Unknown heatTransferModelType type "
- << heatTransferModelType << endl << endl
- << "Valid heatTransferModel types are : " << endl
- << dictionaryConstructorTablePtr_->sortedToc()
- << exit(FatalError);
- }
-
- return cstrIter()(interfaceDict, alpha1, phase1, phase2);
-}
-
-
-// ************************************************************************* //
diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseEulerFoam.C b/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseEulerFoam.C
deleted file mode 100644
index 1613df6f4a..0000000000
--- a/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseEulerFoam.C
+++ /dev/null
@@ -1,121 +0,0 @@
-/*---------------------------------------------------------------------------*\
- ========= |
- \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
- \\ / O peration | Website: https://openfoam.org
- \\ / A nd | Copyright (C) 2011-2020 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
- multiphaseEulerFoam
-
-Description
- Solver for a system of many incompressible fluid phases including
- heat-transfer.
-
-\*---------------------------------------------------------------------------*/
-
-#include "fvCFD.H"
-#include "multiphaseSystem.H"
-#include "phaseModel.H"
-#include "dragModel.H"
-#include "heatTransferModel.H"
-#include "singlePhaseTransportModel.H"
-#include "kinematicMomentumTransportModel.H"
-#include "pimpleControl.H"
-#include "IOMRFZoneList.H"
-#include "CorrectPhi.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-int main(int argc, char *argv[])
-{
- #include "postProcess.H"
-
- #include "setRootCaseLists.H"
- #include "createTime.H"
- #include "createMesh.H"
- #include "createControl.H"
- #include "createFields.H"
- #include "initContinuityErrs.H"
- #include "createTimeControls.H"
- #include "correctPhi.H"
- #include "CourantNo.H"
- #include "setInitialDeltaT.H"
-
- scalar slamDampCoeff
- (
- fluid.lookupOrDefault("slamDampCoeff", 1)
- );
-
- dimensionedScalar maxSlamVelocity
- (
- "maxSlamVelocity",
- dimVelocity,
- fluid.lookupOrDefault("maxSlamVelocity", great)
- );
-
- turbulence->validate();
-
- // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
- Info<< "\nStarting time loop\n" << endl;
-
- while (pimple.run(runTime))
- {
- #include "readTimeControls.H"
- #include "CourantNo.H"
- #include "setDeltaT.H"
-
- runTime++;
- Info<< "Time = " << runTime.timeName() << nl << endl;
-
- // --- Pressure-velocity PIMPLE corrector loop
- while (pimple.loop())
- {
- turbulence->correct();
- fluid.solve();
- rho = fluid.rho();
- #include "zonePhaseVolumes.H"
-
- //#include "TEqns.H"
- #include "UEqns.H"
-
- // --- Pressure corrector loop
- while (pimple.correct())
- {
- #include "pEqn.H"
- }
-
- #include "DDtU.H"
- }
-
- runTime.write();
-
- Info<< "ExecutionTime = "
- << runTime.elapsedCpuTime()
- << " s\n\n" << endl;
- }
-
- Info<< "End\n" << endl;
-
- return 0;
-}
-
-
-// ************************************************************************* //
diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseSystem/Make/files b/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseSystem/Make/files
deleted file mode 100644
index e14922c0e3..0000000000
--- a/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseSystem/Make/files
+++ /dev/null
@@ -1,10 +0,0 @@
-phaseModel/phaseModel.C
-diameterModels/diameterModel/diameterModel.C
-diameterModels/diameterModel/newDiameterModel.C
-diameterModels/constantDiameter/constantDiameter.C
-diameterModels/isothermalDiameter/isothermalDiameter.C
-
-alphaContactAngle/alphaContactAngleFvPatchScalarField.C
-multiphaseSystem.C
-
-LIB = $(FOAM_LIBBIN)/libmultiphaseSystem
diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseSystem/Make/options b/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseSystem/Make/options
deleted file mode 100644
index c6c00b2d3b..0000000000
--- a/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseSystem/Make/options
+++ /dev/null
@@ -1,13 +0,0 @@
-EXE_INC = \
- -I../interfacialModels/lnInclude \
- -IalphaContactAngle \
- -I$(LIB_SRC)/transportModels/lnInclude \
- -I$(LIB_SRC)/twoPhaseModels/interfaceProperties/lnInclude \
- -I$(LIB_SRC)/finiteVolume/lnInclude \
- -I$(LIB_SRC)/meshTools/lnInclude
-
-LIB_LIBS = \
- -linterfaceProperties \
- -lincompressibleTransportModels \
- -lfiniteVolume \
- -lmeshTools
diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseSystem/alphaContactAngle/alphaContactAngleFvPatchScalarField.C b/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseSystem/alphaContactAngle/alphaContactAngleFvPatchScalarField.C
deleted file mode 100644
index 42bc40bec1..0000000000
--- a/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseSystem/alphaContactAngle/alphaContactAngleFvPatchScalarField.C
+++ /dev/null
@@ -1,145 +0,0 @@
-/*---------------------------------------------------------------------------*\
- ========= |
- \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
- \\ / O peration | Website: https://openfoam.org
- \\ / A nd | Copyright (C) 2011-2019 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 .
-
-\*---------------------------------------------------------------------------*/
-
-#include "alphaContactAngleFvPatchScalarField.H"
-#include "addToRunTimeSelectionTable.H"
-#include "fvPatchFieldMapper.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-
-alphaContactAngleFvPatchScalarField::interfaceThetaProps::interfaceThetaProps
-(
- Istream& is
-)
-:
- theta0_(readScalar(is)),
- uTheta_(readScalar(is)),
- thetaA_(readScalar(is)),
- thetaR_(readScalar(is))
-{}
-
-
-Istream& operator>>
-(
- Istream& is,
- alphaContactAngleFvPatchScalarField::interfaceThetaProps& tp
-)
-{
- is >> tp.theta0_ >> tp.uTheta_ >> tp.thetaA_ >> tp.thetaR_;
- return is;
-}
-
-
-Ostream& operator<<
-(
- Ostream& os,
- const alphaContactAngleFvPatchScalarField::interfaceThetaProps& tp
-)
-{
- os << tp.theta0_ << token::SPACE
- << tp.uTheta_ << token::SPACE
- << tp.thetaA_ << token::SPACE
- << tp.thetaR_;
-
- return os;
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
-
-alphaContactAngleFvPatchScalarField::alphaContactAngleFvPatchScalarField
-(
- const fvPatch& p,
- const DimensionedField& iF
-)
-:
- zeroGradientFvPatchScalarField(p, iF)
-{}
-
-
-alphaContactAngleFvPatchScalarField::alphaContactAngleFvPatchScalarField
-(
- const alphaContactAngleFvPatchScalarField& gcpsf,
- const fvPatch& p,
- const DimensionedField& iF,
- const fvPatchFieldMapper& mapper
-)
-:
- zeroGradientFvPatchScalarField(gcpsf, p, iF, mapper),
- thetaProps_(gcpsf.thetaProps_)
-{}
-
-
-alphaContactAngleFvPatchScalarField::alphaContactAngleFvPatchScalarField
-(
- const fvPatch& p,
- const DimensionedField& iF,
- const dictionary& dict
-)
-:
- zeroGradientFvPatchScalarField(p, iF),
- thetaProps_(dict.lookup("thetaProperties"))
-{
- evaluate();
-}
-
-
-alphaContactAngleFvPatchScalarField::alphaContactAngleFvPatchScalarField
-(
- const alphaContactAngleFvPatchScalarField& gcpsf,
- const DimensionedField& iF
-)
-:
- zeroGradientFvPatchScalarField(gcpsf, iF),
- thetaProps_(gcpsf.thetaProps_)
-{}
-
-
-// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
-
-void alphaContactAngleFvPatchScalarField::write(Ostream& os) const
-{
- fvPatchScalarField::write(os);
- writeEntry(os, "thetaProperties", thetaProps_);
- writeEntry(os, "value", *this);
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-makePatchTypeField
-(
- fvPatchScalarField,
- alphaContactAngleFvPatchScalarField
-);
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseSystem/alphaContactAngle/alphaContactAngleFvPatchScalarField.H b/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseSystem/alphaContactAngle/alphaContactAngleFvPatchScalarField.H
deleted file mode 100644
index 171bd8e8e6..0000000000
--- a/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseSystem/alphaContactAngle/alphaContactAngleFvPatchScalarField.H
+++ /dev/null
@@ -1,215 +0,0 @@
-/*---------------------------------------------------------------------------*\
- ========= |
- \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
- \\ / O peration | Website: https://openfoam.org
- \\ / A nd | Copyright (C) 2011-2019 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 .
-
-Class
- Foam::alphaContactAngleFvPatchScalarField
-
-Description
- Contact-angle boundary condition for multi-phase interface-capturing
- simulations. Used in conjunction with multiphaseSystem.
-
-SourceFiles
- alphaContactAngleFvPatchScalarField.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef alphaContactAngleFvPatchScalarField_H
-#define alphaContactAngleFvPatchScalarField_H
-
-#include "zeroGradientFvPatchFields.H"
-#include "multiphaseSystem.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-
-/*---------------------------------------------------------------------------*\
- Class alphaContactAngleFvPatch Declaration
-\*---------------------------------------------------------------------------*/
-
-class alphaContactAngleFvPatchScalarField
-:
- public zeroGradientFvPatchScalarField
-{
-public:
-
- class interfaceThetaProps
- {
- //- Equilibrium contact angle
- scalar theta0_;
-
- //- Dynamic contact angle velocity scale
- scalar uTheta_;
-
- //- Limiting advancing contact angle
- scalar thetaA_;
-
- //- Limiting receding contact angle
- scalar thetaR_;
-
-
- public:
-
- // Constructors
- interfaceThetaProps()
- {}
-
- interfaceThetaProps(Istream&);
-
-
- // Member Functions
-
- //- Return the equilibrium contact angle theta0
- scalar theta0(bool matched=true) const
- {
- if (matched) return theta0_;
- else return 180.0 - theta0_;
- }
-
- //- Return the dynamic contact angle velocity scale
- scalar uTheta() const
- {
- return uTheta_;
- }
-
- //- Return the limiting advancing contact angle
- scalar thetaA(bool matched=true) const
- {
- if (matched) return thetaA_;
- else return 180.0 - thetaA_;
- }
-
- //- Return the limiting receding contact angle
- scalar thetaR(bool matched=true) const
- {
- if (matched) return thetaR_;
- else return 180.0 - thetaR_;
- }
-
-
- // IO functions
-
- friend Istream& operator>>(Istream&, interfaceThetaProps&);
- friend Ostream& operator<<(Ostream&, const interfaceThetaProps&);
- };
-
- typedef HashTable
- <
- interfaceThetaProps,
- multiphaseSystem::interfacePair,
- multiphaseSystem::interfacePair::symmHash
- > thetaPropsTable;
-
-
-private:
-
- // Private Data
-
- thetaPropsTable thetaProps_;
-
-
-public:
-
- //- Runtime type information
- TypeName("alphaContactAngle");
-
-
- // Constructors
-
- //- Construct from patch and internal field
- alphaContactAngleFvPatchScalarField
- (
- const fvPatch&,
- const DimensionedField&
- );
-
- //- Construct from patch, internal field and dictionary
- alphaContactAngleFvPatchScalarField
- (
- const fvPatch&,
- const DimensionedField&,
- const dictionary&
- );
-
- //- Construct by mapping given alphaContactAngleFvPatchScalarField
- // onto a new patch
- alphaContactAngleFvPatchScalarField
- (
- const alphaContactAngleFvPatchScalarField&,
- const fvPatch&,
- const DimensionedField&,
- const fvPatchFieldMapper&
- );
-
- //- Construct and return a clone
- virtual tmp clone() const
- {
- return tmp
- (
- new alphaContactAngleFvPatchScalarField(*this)
- );
- }
-
- //- Construct as copy setting internal field reference
- alphaContactAngleFvPatchScalarField
- (
- const alphaContactAngleFvPatchScalarField&,
- const DimensionedField&
- );
-
- //- Construct and return a clone setting internal field reference
- virtual tmp clone
- (
- const DimensionedField& iF
- ) const
- {
- return tmp
- (
- new alphaContactAngleFvPatchScalarField(*this, iF)
- );
- }
-
-
- // Member Functions
-
- //- Return the contact angle properties
- const thetaPropsTable& thetaProps() const
- {
- return thetaProps_;
- }
-
- //- Write
- virtual void write(Ostream&) const;
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseSystem/diameterModels/constantDiameter/constantDiameter.C b/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseSystem/diameterModels/constantDiameter/constantDiameter.C
deleted file mode 100644
index 8b99843048..0000000000
--- a/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseSystem/diameterModels/constantDiameter/constantDiameter.C
+++ /dev/null
@@ -1,79 +0,0 @@
-/*---------------------------------------------------------------------------*\
- ========= |
- \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
- \\ / O peration | Website: https://openfoam.org
- \\ / A nd | Copyright (C) 2011-2018 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 .
-
-\*---------------------------------------------------------------------------*/
-
-#include "constantDiameter.H"
-#include "addToRunTimeSelectionTable.H"
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace diameterModels
-{
- defineTypeNameAndDebug(constant, 0);
-
- addToRunTimeSelectionTable
- (
- diameterModel,
- constant,
- dictionary
- );
-}
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
-
-Foam::diameterModels::constant::constant
-(
- const dictionary& dict,
- const phaseModel& phase
-)
-:
- diameterModel(dict, phase),
- d_("d", dimLength, dict)
-{}
-
-
-// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
-
-Foam::diameterModels::constant::~constant()
-{}
-
-
-// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
-
-Foam::tmp Foam::diameterModels::constant::d() const
-{
- return volScalarField::New
- (
- "d",
- phase_.U().mesh(),
- d_
- );
-}
-
-
-// ************************************************************************* //
diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseSystem/diameterModels/constantDiameter/constantDiameter.H b/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseSystem/diameterModels/constantDiameter/constantDiameter.H
deleted file mode 100644
index 3950e15cd8..0000000000
--- a/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseSystem/diameterModels/constantDiameter/constantDiameter.H
+++ /dev/null
@@ -1,96 +0,0 @@
-/*---------------------------------------------------------------------------*\
- ========= |
- \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
- \\ / O peration | Website: https://openfoam.org
- \\ / A nd | Copyright (C) 2011-2019 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 .
-
-Class
- Foam::diameterModels::constant
-
-Description
- Constant dispersed-phase particle diameter model.
-
-SourceFiles
- constant.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef constantDiameter_H
-#define constantDiameter_H
-
-#include "diameterModel.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace diameterModels
-{
-
-/*---------------------------------------------------------------------------*\
- Class constant Declaration
-\*---------------------------------------------------------------------------*/
-
-class constant
-:
- public diameterModel
-{
- // Private Data
-
- //- The constant diameter of the phase
- dimensionedScalar d_;
-
-
-public:
-
- //- Runtime type information
- TypeName("constant");
-
-
- // Constructors
-
- //- Construct from components
- constant
- (
- const dictionary& dict,
- const phaseModel& phase
- );
-
-
- //- Destructor
- virtual ~constant();
-
-
- // Member Functions
-
- tmp d() const;
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace diameterModels
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseSystem/diameterModels/diameterModel/diameterModel.C b/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseSystem/diameterModels/diameterModel/diameterModel.C
deleted file mode 100644
index 78dff80b68..0000000000
--- a/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseSystem/diameterModels/diameterModel/diameterModel.C
+++ /dev/null
@@ -1,56 +0,0 @@
-/*---------------------------------------------------------------------------*\
- ========= |
- \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
- \\ / O peration | Website: https://openfoam.org
- \\ / A nd | Copyright (C) 2011-2018 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 .
-
-\*---------------------------------------------------------------------------*/
-
-#include "diameterModel.H"
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-namespace Foam
-{
- defineTypeNameAndDebug(diameterModel, 0);
- defineRunTimeSelectionTable(diameterModel, dictionary);
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
-
-Foam::diameterModel::diameterModel
-(
- const dictionary& dict,
- const phaseModel& phase
-)
-:
- dict_(dict),
- phase_(phase)
-{}
-
-
-// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
-
-Foam::diameterModel::~diameterModel()
-{}
-
-
-// ************************************************************************* //
diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseSystem/diameterModels/diameterModel/diameterModel.H b/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseSystem/diameterModels/diameterModel/diameterModel.H
deleted file mode 100644
index 51cb97476a..0000000000
--- a/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseSystem/diameterModels/diameterModel/diameterModel.H
+++ /dev/null
@@ -1,120 +0,0 @@
-/*---------------------------------------------------------------------------*\
- ========= |
- \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
- \\ / O peration | Website: https://openfoam.org
- \\ / A nd | Copyright (C) 2011-2018 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 .
-
-Class
- Foam::diameterModel
-
-Description
- Abstract base-class for dispersed-phase particle diameter models.
-
-SourceFiles
- diameterModel.C
- newDiameterModel.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef diameterModel_H
-#define diameterModel_H
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#include "dictionary.H"
-#include "phaseModel.H"
-#include "runTimeSelectionTables.H"
-
-namespace Foam
-{
-
-/*---------------------------------------------------------------------------*\
- Class diameterModel Declaration
-\*---------------------------------------------------------------------------*/
-
-class diameterModel
-{
-protected:
-
- // Protected data
-
- const dictionary& dict_;
- const phaseModel& phase_;
-
-
-public:
-
- //- Runtime type information
- TypeName("diameterModel");
-
-
- // Declare runtime construction
-
- declareRunTimeSelectionTable
- (
- autoPtr,
- diameterModel,
- dictionary,
- (
- const dictionary& dict,
- const phaseModel& phase
- ),
- (dict, phase)
- );
-
-
- // Constructors
-
- diameterModel
- (
- const dictionary& dict,
- const phaseModel& phase
- );
-
-
- //- Destructor
- virtual ~diameterModel();
-
-
- // Selectors
-
- static autoPtr New
- (
- const dictionary& dict,
- const phaseModel& phase
- );
-
-
- // Member Functions
-
- //- Return the phase mean diameter field
- virtual tmp d() const = 0;
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseSystem/diameterModels/diameterModel/newDiameterModel.C b/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseSystem/diameterModels/diameterModel/newDiameterModel.C
deleted file mode 100644
index ac20183f37..0000000000
--- a/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseSystem/diameterModels/diameterModel/newDiameterModel.C
+++ /dev/null
@@ -1,67 +0,0 @@
-/*---------------------------------------------------------------------------*\
- ========= |
- \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
- \\ / O peration | Website: https://openfoam.org
- \\ / A nd | Copyright (C) 2011-2018 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 .
-
-\*---------------------------------------------------------------------------*/
-
-#include "diameterModel.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-Foam::autoPtr Foam::diameterModel::New
-(
- const dictionary& dict,
- const phaseModel& phase
-)
-{
- word diameterModelType
- (
- dict.lookup("diameterModel")
- );
-
- Info << "Selecting diameterModel for phase "
- << phase.name()
- << ": "
- << diameterModelType << endl;
-
- dictionaryConstructorTable::iterator cstrIter =
- dictionaryConstructorTablePtr_->find(diameterModelType);
-
- if (cstrIter == dictionaryConstructorTablePtr_->end())
- {
- FatalErrorInFunction
- << "Unknown diameterModelType type "
- << diameterModelType << endl << endl
- << "Valid diameterModel types are : " << endl
- << dictionaryConstructorTablePtr_->sortedToc()
- << exit(FatalError);
- }
-
- return cstrIter()
- (
- dict.optionalSubDict(diameterModelType + "Coeffs"),
- phase
- );
-}
-
-
-// ************************************************************************* //
diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseSystem/diameterModels/isothermalDiameter/isothermalDiameter.C b/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseSystem/diameterModels/isothermalDiameter/isothermalDiameter.C
deleted file mode 100644
index 2d1b28cd92..0000000000
--- a/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseSystem/diameterModels/isothermalDiameter/isothermalDiameter.C
+++ /dev/null
@@ -1,80 +0,0 @@
-/*---------------------------------------------------------------------------*\
- ========= |
- \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
- \\ / O peration | Website: https://openfoam.org
- \\ / A nd | Copyright (C) 2011-2018 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 .
-
-\*---------------------------------------------------------------------------*/
-
-#include "isothermalDiameter.H"
-#include "addToRunTimeSelectionTable.H"
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace diameterModels
-{
- defineTypeNameAndDebug(isothermal, 0);
-
- addToRunTimeSelectionTable
- (
- diameterModel,
- isothermal,
- dictionary
- );
-}
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
-
-Foam::diameterModels::isothermal::isothermal
-(
- const dictionary& dict,
- const phaseModel& phase
-)
-:
- diameterModel(dict, phase),
- d0_("d0", dimLength, dict),
- p0_("p0", dimPressure, dict)
-{}
-
-
-// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
-
-Foam::diameterModels::isothermal::~isothermal()
-{}
-
-
-// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
-
-Foam::tmp Foam::diameterModels::isothermal::d() const
-{
- const volScalarField& p = phase_.U().db().lookupObject
- (
- "p"
- );
-
- return d0_*pow(p0_/p, 1.0/3.0);
-}
-
-
-// ************************************************************************* //
diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseSystem/diameterModels/isothermalDiameter/isothermalDiameter.H b/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseSystem/diameterModels/isothermalDiameter/isothermalDiameter.H
deleted file mode 100644
index f922e9cfaf..0000000000
--- a/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseSystem/diameterModels/isothermalDiameter/isothermalDiameter.H
+++ /dev/null
@@ -1,99 +0,0 @@
-/*---------------------------------------------------------------------------*\
- ========= |
- \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
- \\ / O peration | Website: https://openfoam.org
- \\ / A nd | Copyright (C) 2011-2019 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 .
-
-Class
- Foam::diameterModels::isothermal
-
-Description
- Isothermal dispersed-phase particle diameter model.
-
-SourceFiles
- isothermal.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef isothermalDiameter_H
-#define isothermalDiameter_H
-
-#include "diameterModel.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace diameterModels
-{
-
-/*---------------------------------------------------------------------------*\
- Class isothermal Declaration
-\*---------------------------------------------------------------------------*/
-
-class isothermal
-:
- public diameterModel
-{
- // Private Data
-
- //- Reference diameter for the isothermal expansion
- dimensionedScalar d0_;
-
- //- Reference pressure for the isothermal expansion
- dimensionedScalar p0_;
-
-
-public:
-
- //- Runtime type information
- TypeName("isothermal");
-
-
- // Constructors
-
- //- Construct from components
- isothermal
- (
- const dictionary& dict,
- const phaseModel& phase
- );
-
-
- //- Destructor
- virtual ~isothermal();
-
-
- // Member Functions
-
- tmp d() const;
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace diameterModels
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseSystem/multiphaseSystem.C b/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseSystem/multiphaseSystem.C
deleted file mode 100644
index fde14904b4..0000000000
--- a/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseSystem/multiphaseSystem.C
+++ /dev/null
@@ -1,933 +0,0 @@
-/*---------------------------------------------------------------------------*\
- ========= |
- \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
- \\ / O peration | Website: https://openfoam.org
- \\ / A nd | Copyright (C) 2011-2020 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 .
-
-\*---------------------------------------------------------------------------*/
-
-#include "multiphaseSystem.H"
-#include "alphaContactAngleFvPatchScalarField.H"
-#include "unitConversion.H"
-#include "fixedValueFvsPatchFields.H"
-#include "Time.H"
-#include "subCycle.H"
-#include "MULES.H"
-#include "surfaceInterpolate.H"
-#include "fvcGrad.H"
-#include "fvcSnGrad.H"
-#include "fvcDiv.H"
-#include "fvcFlux.H"
-#include "fvcAverage.H"
-
-
-// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
-
-void Foam::multiphaseSystem::calcAlphas()
-{
- scalar level = 0.0;
- alphas_ == 0.0;
-
- forAllIter(PtrDictionary, phases_, iter)
- {
- alphas_ += level*iter();
- level += 1.0;
- }
-}
-
-
-void Foam::multiphaseSystem::solveAlphas()
-{
- PtrList alphaPhiCorrs(phases_.size());
- int phasei = 0;
-
- forAllIter(PtrDictionary, phases_, iter)
- {
- phaseModel& phase = iter();
- volScalarField& alpha1 = phase;
-
- alphaPhiCorrs.set
- (
- phasei,
- new surfaceScalarField
- (
- "phi" + alpha1.name() + "Corr",
- fvc::flux
- (
- phi_,
- phase,
- "div(phi," + alpha1.name() + ')'
- )
- )
- );
-
- surfaceScalarField& alphaPhiCorr = alphaPhiCorrs[phasei];
-
- forAllIter(PtrDictionary, phases_, iter2)
- {
- phaseModel& phase2 = iter2();
- volScalarField& alpha2 = phase2;
-
- if (&phase2 == &phase) continue;
-
- surfaceScalarField phir(phase.phi() - phase2.phi());
-
- scalarCoeffSymmTable::const_iterator cAlpha
- (
- cAlphas_.find(interfacePair(phase, phase2))
- );
-
- if (cAlpha != cAlphas_.end())
- {
- surfaceScalarField phic
- (
- (mag(phi_) + mag(phir))/mesh_.magSf()
- );
-
- phir += min(cAlpha()*phic, max(phic))*nHatf(phase, phase2);
- }
-
- word phirScheme
- (
- "div(phir," + alpha2.name() + ',' + alpha1.name() + ')'
- );
-
- alphaPhiCorr += fvc::flux
- (
- -fvc::flux(-phir, phase2, phirScheme),
- phase,
- phirScheme
- );
- }
-
- phase.correctInflowOutflow(alphaPhiCorr);
-
- MULES::limit
- (
- 1.0/mesh_.time().deltaT().value(),
- geometricOneField(),
- phase,
- phi_,
- alphaPhiCorr,
- zeroField(),
- zeroField(),
- oneField(),
- zeroField(),
- true
- );
-
- phasei++;
- }
-
- MULES::limitSum(alphaPhiCorrs);
-
- volScalarField sumAlpha
- (
- IOobject
- (
- "sumAlpha",
- mesh_.time().timeName(),
- mesh_
- ),
- mesh_,
- dimensionedScalar(dimless, 0)
- );
-
- phasei = 0;
-
- forAllIter(PtrDictionary, phases_, iter)
- {
- phaseModel& phase = iter();
-
- surfaceScalarField& alphaPhi = alphaPhiCorrs[phasei];
- alphaPhi += upwind(mesh_, phi_).flux(phase);
- phase.correctInflowOutflow(alphaPhi);
-
- MULES::explicitSolve
- (
- geometricOneField(),
- phase,
- alphaPhi
- );
-
- phase.alphaPhi() = alphaPhi;
-
- Info<< phase.name() << " volume fraction, min, max = "
- << phase.weightedAverage(mesh_.V()).value()
- << ' ' << min(phase).value()
- << ' ' << max(phase).value()
- << endl;
-
- sumAlpha += phase;
-
- phasei++;
- }
-
- Info<< "Phase-sum volume fraction, min, max = "
- << sumAlpha.weightedAverage(mesh_.V()).value()
- << ' ' << min(sumAlpha).value()
- << ' ' << max(sumAlpha).value()
- << endl;
-
- // Correct the sum of the phase-fractions to avoid 'drift'
- volScalarField sumCorr(1.0 - sumAlpha);
- forAllIter(PtrDictionary, phases_, iter)
- {
- phaseModel& phase = iter();
- volScalarField& alpha = phase;
- alpha += alpha*sumCorr;
- }
-
- calcAlphas();
-}
-
-
-Foam::tmp Foam::multiphaseSystem::nHatfv
-(
- const volScalarField& alpha1,
- const volScalarField& alpha2
-) const
-{
- /*
- // Cell gradient of alpha
- volVectorField gradAlpha =
- alpha2*fvc::grad(alpha1) - alpha1*fvc::grad(alpha2);
-
- // Interpolated face-gradient of alpha
- surfaceVectorField gradAlphaf = fvc::interpolate(gradAlpha);
- */
-
- surfaceVectorField gradAlphaf
- (
- fvc::interpolate(alpha2)*fvc::interpolate(fvc::grad(alpha1))
- - fvc::interpolate(alpha1)*fvc::interpolate(fvc::grad(alpha2))
- );
-
- // Face unit interface normal
- return gradAlphaf/(mag(gradAlphaf) + deltaN_);
-}
-
-
-Foam::tmp Foam::multiphaseSystem::nHatf
-(
- const volScalarField& alpha1,
- const volScalarField& alpha2
-) const
-{
- // Face unit interface normal flux
- return nHatfv(alpha1, alpha2) & mesh_.Sf();
-}
-
-
-// Correction for the boundary condition on the unit normal nHat on
-// walls to produce the correct contact angle.
-
-// The dynamic contact angle is calculated from the component of the
-// velocity on the direction of the interface, parallel to the wall.
-
-void Foam::multiphaseSystem::correctContactAngle
-(
- const phaseModel& phase1,
- const phaseModel& phase2,
- surfaceVectorField::Boundary& nHatb
-) const
-{
- const volScalarField::Boundary& gbf
- = phase1.boundaryField();
-
- const fvBoundaryMesh& boundary = mesh_.boundary();
-
- forAll(boundary, patchi)
- {
- if (isA(gbf[patchi]))
- {
- const alphaContactAngleFvPatchScalarField& acap =
- refCast(gbf[patchi]);
-
- vectorField& nHatPatch = nHatb[patchi];
-
- vectorField AfHatPatch
- (
- mesh_.Sf().boundaryField()[patchi]
- /mesh_.magSf().boundaryField()[patchi]
- );
-
- alphaContactAngleFvPatchScalarField::thetaPropsTable::
- const_iterator tp =
- acap.thetaProps().find(interfacePair(phase1, phase2));
-
- if (tp == acap.thetaProps().end())
- {
- FatalErrorInFunction
- << "Cannot find interface " << interfacePair(phase1, phase2)
- << "\n in table of theta properties for patch "
- << acap.patch().name()
- << exit(FatalError);
- }
-
- bool matched = (tp.key().first() == phase1.name());
-
- scalar theta0 = degToRad(tp().theta0(matched));
- scalarField theta(boundary[patchi].size(), theta0);
-
- scalar uTheta = tp().uTheta();
-
- // Calculate the dynamic contact angle if required
- if (uTheta > small)
- {
- scalar thetaA = degToRad(tp().thetaA(matched));
- scalar thetaR = degToRad(tp().thetaR(matched));
-
- // Calculated the component of the velocity parallel to the wall
- vectorField Uwall
- (
- phase1.U().boundaryField()[patchi].patchInternalField()
- - phase1.U().boundaryField()[patchi]
- );
- Uwall -= (AfHatPatch & Uwall)*AfHatPatch;
-
- // Find the direction of the interface parallel to the wall
- vectorField nWall
- (
- nHatPatch - (AfHatPatch & nHatPatch)*AfHatPatch
- );
-
- // Normalise nWall
- nWall /= (mag(nWall) + small);
-
- // Calculate Uwall resolved normal to the interface parallel to
- // the interface
- scalarField uwall(nWall & Uwall);
-
- theta += (thetaA - thetaR)*tanh(uwall/uTheta);
- }
-
-
- // Reset nHatPatch to correspond to the contact angle
-
- scalarField a12(nHatPatch & AfHatPatch);
-
- scalarField b1(cos(theta));
-
- scalarField b2(nHatPatch.size());
-
- forAll(b2, facei)
- {
- b2[facei] = cos(acos(a12[facei]) - theta[facei]);
- }
-
- scalarField det(1.0 - a12*a12);
-
- scalarField a((b1 - a12*b2)/det);
- scalarField b((b2 - a12*b1)/det);
-
- nHatPatch = a*AfHatPatch + b*nHatPatch;
-
- nHatPatch /= (mag(nHatPatch) + deltaN_.value());
- }
- }
-}
-
-
-Foam::tmp Foam::multiphaseSystem::K
-(
- const phaseModel& phase1,
- const phaseModel& phase2
-) const
-{
- tmp tnHatfv = nHatfv(phase1, phase2);
-
- correctContactAngle(phase1, phase2, tnHatfv.ref().boundaryFieldRef());
-
- // Simple expression for curvature
- return -fvc::div(tnHatfv & mesh_.Sf());
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
-
-Foam::multiphaseSystem::multiphaseSystem
-(
- const volVectorField& U,
- const surfaceScalarField& phi
-)
-:
- IOdictionary
- (
- IOobject
- (
- "transportProperties",
- U.time().constant(),
- U.db(),
- IOobject::MUST_READ_IF_MODIFIED,
- IOobject::NO_WRITE
- )
- ),
-
- phases_(lookup("phases"), phaseModel::iNew(U.mesh())),
-
- mesh_(U.mesh()),
- phi_(phi),
-
- alphas_
- (
- IOobject
- (
- "alphas",
- mesh_.time().timeName(),
- mesh_,
- IOobject::NO_READ,
- IOobject::AUTO_WRITE
- ),
- mesh_,
- dimensionedScalar(dimless, 0)
- ),
-
- sigmas_(lookup("sigmas")),
- dimSigma_(1, 0, -2, 0, 0),
- cAlphas_(lookup("interfaceCompression")),
- Cvms_(lookup("virtualMass")),
- deltaN_
- (
- "deltaN",
- 1e-8/pow(average(mesh_.V()), 1.0/3.0)
- )
-{
- calcAlphas();
- alphas_.write();
-
- interfaceDictTable dragModelsDict(lookup("drag"));
-
- forAllConstIter(interfaceDictTable, dragModelsDict, iter)
- {
- dragModels_.insert
- (
- iter.key(),
- dragModel::New
- (
- iter(),
- *phases_.lookup(iter.key().first()),
- *phases_.lookup(iter.key().second())
- ).ptr()
- );
- }
-
- forAllConstIter(PtrDictionary, phases_, iter1)
- {
- const phaseModel& phase1 = iter1();
-
- forAllConstIter(PtrDictionary, phases_, iter2)
- {
- const phaseModel& phase2 = iter2();
-
- if (&phase2 != &phase1)
- {
- scalarCoeffSymmTable::const_iterator sigma
- (
- sigmas_.find(interfacePair(phase1, phase2))
- );
-
- if (sigma != sigmas_.end())
- {
- scalarCoeffSymmTable::const_iterator cAlpha
- (
- cAlphas_.find(interfacePair(phase1, phase2))
- );
-
- if (cAlpha == cAlphas_.end())
- {
- WarningInFunction
- << "Compression coefficient not specified for "
- "phase pair ("
- << phase1.name() << ' ' << phase2.name()
- << ") for which a surface tension "
- "coefficient is specified"
- << endl;
- }
- }
- }
- }
- }
-}
-
-
-// * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * //
-
-Foam::tmp Foam::multiphaseSystem::rho() const
-{
- PtrDictionary::const_iterator iter = phases_.begin();
-
- tmp trho = iter()*iter().rho();
- volScalarField& rho = trho.ref();
-
- for (++iter; iter != phases_.end(); ++iter)
- {
- rho += iter()*iter().rho();
- }
-
- return trho;
-}
-
-
-Foam::tmp
-Foam::multiphaseSystem::rho(const label patchi) const
-{
- PtrDictionary::const_iterator iter = phases_.begin();
-
- tmp trho = iter().boundaryField()[patchi]*iter().rho().value();
- scalarField& rho = trho.ref();
-
- for (++iter; iter != phases_.end(); ++iter)
- {
- rho += iter().boundaryField()[patchi]*iter().rho().value();
- }
-
- return trho;
-}
-
-
-Foam::tmp Foam::multiphaseSystem::nu() const
-{
- PtrDictionary::const_iterator iter = phases_.begin();
-
- tmp tmu = iter()*(iter().rho()*iter().nu());
- volScalarField& mu = tmu.ref();
-
- for (++iter; iter != phases_.end(); ++iter)
- {
- mu += iter()*(iter().rho()*iter().nu());
- }
-
- return tmu/rho();
-}
-
-
-Foam::tmp
-Foam::multiphaseSystem::nu(const label patchi) const
-{
- PtrDictionary::const_iterator iter = phases_.begin();
-
- tmp tmu =
- iter().boundaryField()[patchi]
- *(iter().rho().value()*iter().nu().value());
- scalarField& mu = tmu.ref();
-
- for (++iter; iter != phases_.end(); ++iter)
- {
- mu +=
- iter().boundaryField()[patchi]
- *(iter().rho().value()*iter().nu().value());
- }
-
- return tmu/rho(patchi);
-}
-
-
-Foam::tmp Foam::multiphaseSystem::Cvm
-(
- const phaseModel& phase
-) const
-{
- tmp tCvm
- (
- volScalarField::New
- (
- "Cvm",
- mesh_,
- dimensionedScalar(dimensionSet(1, -3, 0, 0, 0), 0)
- )
- );
-
- forAllConstIter(PtrDictionary, phases_, iter)
- {
- const phaseModel& phase2 = iter();
-
- if (&phase2 != &phase)
- {
- scalarCoeffTable::const_iterator Cvm
- (
- Cvms_.find(interfacePair(phase, phase2))
- );
-
- if (Cvm != Cvms_.end())
- {
- tCvm.ref() += Cvm()*phase2.rho()*phase2;
- }
- else
- {
- Cvm = Cvms_.find(interfacePair(phase2, phase));
-
- if (Cvm != Cvms_.end())
- {
- tCvm.ref() += Cvm()*phase.rho()*phase2;
- }
- }
- }
- }
-
- return tCvm;
-}
-
-
-Foam::tmp Foam::multiphaseSystem::Svm
-(
- const phaseModel& phase
-) const
-{
- tmp tSvm
- (
- volVectorField::New
- (
- "Svm",
- mesh_,
- dimensionedVector(dimensionSet(1, -2, -2, 0, 0), Zero)
- )
- );
-
- forAllConstIter(PtrDictionary, phases_, iter)
- {
- const phaseModel& phase2 = iter();
-
- if (&phase2 != &phase)
- {
- scalarCoeffTable::const_iterator Cvm
- (
- Cvms_.find(interfacePair(phase, phase2))
- );
-
- if (Cvm != Cvms_.end())
- {
- tSvm.ref() += Cvm()*phase2.rho()*phase2*phase2.DDtU();
- }
- else
- {
- Cvm = Cvms_.find(interfacePair(phase2, phase));
-
- if (Cvm != Cvms_.end())
- {
- tSvm.ref() += Cvm()*phase.rho()*phase2*phase2.DDtU();
- }
- }
- }
- }
-
- volVectorField::Boundary& SvmBf =
- tSvm.ref().boundaryFieldRef();
-
- // Remove virtual mass at fixed-flux boundaries
- forAll(phase.phi().boundaryField(), patchi)
- {
- if
- (
- isA
- (
- phase.phi().boundaryField()[patchi]
- )
- )
- {
- SvmBf[patchi] = Zero;
- }
- }
-
- return tSvm;
-}
-
-
-Foam::autoPtr
-Foam::multiphaseSystem::dragCoeffs() const
-{
- autoPtr dragCoeffsPtr(new dragCoeffFields);
-
- forAllConstIter(dragModelTable, dragModels_, iter)
- {
- const dragModel& dm = *iter();
-
- volScalarField* Kptr =
- (
- max
- (
- // fvc::average(dm.phase1()*dm.phase2()),
- // fvc::average(dm.phase1())*fvc::average(dm.phase2()),
- dm.phase1()*dm.phase2(),
- dm.residualPhaseFraction()
- )
- *dm.K
- (
- max
- (
- mag(dm.phase1().U() - dm.phase2().U()),
- dm.residualSlip()
- )
- )
- ).ptr();
-
- volScalarField::Boundary& Kbf = Kptr->boundaryFieldRef();
-
- // Remove drag at fixed-flux boundaries
- forAll(dm.phase1().phi().boundaryField(), patchi)
- {
- if
- (
- isA
- (
- dm.phase1().phi().boundaryField()[patchi]
- )
- )
- {
- Kbf[patchi] = 0.0;
- }
- }
-
- dragCoeffsPtr().insert(iter.key(), Kptr);
- }
-
- return dragCoeffsPtr;
-}
-
-
-Foam::tmp Foam::multiphaseSystem::dragCoeff
-(
- const phaseModel& phase,
- const dragCoeffFields& dragCoeffs
-) const
-{
- tmp tdragCoeff
- (
- volScalarField::New
- (
- "dragCoeff",
- mesh_,
- dimensionedScalar(dimensionSet(1, -3, -1, 0, 0), 0)
- )
- );
-
- dragModelTable::const_iterator dmIter = dragModels_.begin();
- dragCoeffFields::const_iterator dcIter = dragCoeffs.begin();
- for
- (
- ;
- dmIter != dragModels_.end() && dcIter != dragCoeffs.end();
- ++dmIter, ++dcIter
- )
- {
- if
- (
- &phase == &dmIter()->phase1()
- || &phase == &dmIter()->phase2()
- )
- {
- tdragCoeff.ref() += *dcIter();
- }
- }
-
- return tdragCoeff;
-}
-
-
-Foam::tmp Foam::multiphaseSystem::surfaceTension
-(
- const phaseModel& phase1
-) const
-{
- tmp tSurfaceTension
- (
- surfaceScalarField::New
- (
- "surfaceTension",
- mesh_,
- dimensionedScalar(dimensionSet(1, -2, -2, 0, 0), 0)
- )
- );
-
- forAllConstIter(PtrDictionary, phases_, iter)
- {
- const phaseModel& phase2 = iter();
-
- if (&phase2 != &phase1)
- {
- scalarCoeffSymmTable::const_iterator sigma
- (
- sigmas_.find(interfacePair(phase1, phase2))
- );
-
- if (sigma != sigmas_.end())
- {
- tSurfaceTension.ref() +=
- dimensionedScalar(dimSigma_, sigma())
- *fvc::interpolate(K(phase1, phase2))*
- (
- fvc::interpolate(phase2)*fvc::snGrad(phase1)
- - fvc::interpolate(phase1)*fvc::snGrad(phase2)
- );
- }
- }
- }
-
- return tSurfaceTension;
-}
-
-
-Foam::tmp
-Foam::multiphaseSystem::nearInterface() const
-{
- tmp tnearInt
- (
- volScalarField::New
- (
- "nearInterface",
- mesh_,
- dimensionedScalar(dimless, 0)
- )
- );
-
- forAllConstIter(PtrDictionary, phases_, iter)
- {
- tnearInt.ref() =
- max(tnearInt(), pos0(iter() - 0.01)*pos0(0.99 - iter()));
- }
-
- return tnearInt;
-}
-
-
-void Foam::multiphaseSystem::solve()
-{
- forAllIter(PtrDictionary, phases_, iter)
- {
- iter().correct();
- }
-
- const Time& runTime = mesh_.time();
-
- const dictionary& alphaControls = mesh_.solverDict("alpha");
- label nAlphaSubCycles(alphaControls.lookup