diff --git a/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/phaseCompressibleMomentumTransportModels.C b/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/phaseCompressibleMomentumTransportModels.C index 6d79ec2c2f..ddeb9e25b7 100644 --- a/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/phaseCompressibleMomentumTransportModels.C +++ b/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/phaseCompressibleMomentumTransportModels.C @@ -72,18 +72,36 @@ makeLaminarModel(generalizedNewtonian); #include "kEpsilon.H" makeRASModel(kEpsilon); +#include "LaheyKEpsilon.H" +makeRASModel(LaheyKEpsilon); + #include "kOmegaSST.H" makeRASModel(kOmegaSST); #include "kOmegaSSTSato.H" makeRASModel(kOmegaSSTSato); +#include "continuousGasKEpsilon.H" +makeRASModel(continuousGasKEpsilon); + +#include "mixtureKEpsilon.H" +makeRASModel(mixtureKEpsilon); + #include "Smagorinsky.H" makeLESModel(Smagorinsky); #include "kEqn.H" makeLESModel(kEqn); +#include "SmagorinskyZhang.H" +makeLESModel(SmagorinskyZhang); + +#include "NicenoKEqn.H" +makeLESModel(NicenoKEqn); + +#include "continuousGasKEqn.H" +makeLESModel(continuousGasKEqn); + #include "kineticTheoryModel.H" makeMomentumTransportModel (phaseModelPhaseCompressibleMomentumTransportModel, RAS, kineticTheoryModel); diff --git a/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/Make/files b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/Make/files index a9a67d5be8..070abe1aee 100644 --- a/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/Make/files +++ b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/Make/files @@ -16,6 +16,14 @@ diameterModels/isothermalDiameter/isothermalDiameter.C diameterModels/linearTsubDiameter/linearTsubDiameter.C diameterModels/velocityGroup/velocityGroup.C +diameterModels/IATE/IATE.C +diameterModels/IATE/IATEsources/IATEsource/IATEsource.C +diameterModels/IATE/IATEsources/wakeEntrainmentCoalescence/IATEwakeEntrainmentCoalescence.C +diameterModels/IATE/IATEsources/turbulentBreakUp/IATEturbulentBreakUp.C +diameterModels/IATE/IATEsources/randomCoalescence/IATErandomCoalescence.C +diameterModels/IATE/IATEsources/phaseChange/IATEphaseChange.C +diameterModels/IATE/IATEsources/wallBoiling/IATEwallBoiling.C + sizeGroup = diameterModels/velocityGroup/sizeGroup $(sizeGroup)/sizeGroup.C diff --git a/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/PhaseSystems/MomentumTransferPhaseSystem/MomentumTransferPhaseSystem.H b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/PhaseSystems/MomentumTransferPhaseSystem/MomentumTransferPhaseSystem.H index 0bfccc1eba..4bd072b900 100644 --- a/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/PhaseSystems/MomentumTransferPhaseSystem/MomentumTransferPhaseSystem.H +++ b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/PhaseSystems/MomentumTransferPhaseSystem/MomentumTransferPhaseSystem.H @@ -167,18 +167,6 @@ private: turbulentDispersionModelTable turbulentDispersionModels_; - // Private Member Functions - - //- Return the drag coefficient for the phase pair - virtual tmp Kd(const phasePairKey& key) const; - - //- Return the face drag coefficient for the phase pair - virtual tmp Kdf(const phasePairKey& key) const; - - //- Return the virtual mass coefficient for the phase pair - virtual tmp Vm(const phasePairKey& key) const; - - protected: // Protected Member Functions @@ -205,6 +193,15 @@ public: // Member Functions + //- Return the drag coefficient for the phase pair + virtual tmp Kd(const phasePairKey& key) const; + + //- Return the face drag coefficient for the phase pair + virtual tmp Kdf(const phasePairKey& key) const; + + //- Return the virtual mass coefficient for the phase pair + virtual tmp Vm(const phasePairKey& key) const; + //- Return the momentum transfer matrices for the cell-based algorithm. // This includes implicit and explicit forces that add into the cell // UEqn in the normal way. diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATE.C b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/diameterModels/IATE/IATE.C similarity index 100% rename from applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATE.C rename to applications/solvers/multiphase/reactingEulerFoam/phaseSystems/diameterModels/IATE/IATE.C diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATE.H b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/diameterModels/IATE/IATE.H similarity index 98% rename from applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATE.H rename to applications/solvers/multiphase/reactingEulerFoam/phaseSystems/diameterModels/IATE/IATE.H index 5f4e4962e2..80488d8c7d 100644 --- a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATE.H +++ b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/diameterModels/IATE/IATE.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2013-2019 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2013-2020 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/IATEsource/IATEsource.C b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/diameterModels/IATE/IATEsources/IATEsource/IATEsource.C similarity index 96% rename from applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/IATEsource/IATEsource.C rename to applications/solvers/multiphase/reactingEulerFoam/phaseSystems/diameterModels/IATE/IATEsources/IATEsource/IATEsource.C index 2d952451df..0ef1ef259f 100644 --- a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/IATEsource/IATEsource.C +++ b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/diameterModels/IATE/IATEsources/IATEsource/IATEsource.C @@ -78,7 +78,7 @@ Foam::tmp Foam::diameterModels::IATEsource::Ur() const sqrt(2.0) *pow025 ( - fluid().sigma()*mag(g) + sigma()*mag(g) *(otherPhase().rho() - phase().rho()) /sqr(otherPhase().rho()) ) @@ -120,7 +120,7 @@ Foam::tmp Foam::diameterModels::IATEsource::Mo() const return mag(g)*pow4(otherPhase().thermo().nu())*sqr(otherPhase().rho()) *(otherPhase().rho() - phase().rho()) - /pow3(fluid().sigma()); + /pow3(sigma()); } Foam::tmp Foam::diameterModels::IATEsource::Eo() const @@ -131,13 +131,13 @@ Foam::tmp Foam::diameterModels::IATEsource::Eo() const return mag(g)*sqr(phase().d()) *(otherPhase().rho() - phase().rho()) - /fluid().sigma(); + /sigma(); } Foam::tmp Foam::diameterModels::IATEsource::We() const { return - otherPhase().rho()*sqr(Ur())*phase().d()/fluid().sigma(); + otherPhase().rho()*sqr(Ur())*phase().d()/sigma(); } diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/IATEsource/IATEsource.H b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/diameterModels/IATE/IATEsources/IATEsource/IATEsource.H similarity index 91% rename from applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/IATEsource/IATEsource.H rename to applications/solvers/multiphase/reactingEulerFoam/phaseSystems/diameterModels/IATE/IATEsources/IATEsource/IATEsource.H index 670deb4172..cba51c0683 100644 --- a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/IATEsource/IATEsource.H +++ b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/diameterModels/IATE/IATEsources/IATEsource/IATEsource.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2013-2018 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2013-2020 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -37,7 +37,7 @@ SourceFiles #define IATEsource_H #include "IATE.H" -#include "twoPhaseSystem.H" +#include "phaseSystem.H" #include "mathematicalConstants.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -141,9 +141,9 @@ public: return iate_.phase(); } - const twoPhaseSystem& fluid() const + const phaseSystem& fluid() const { - return refCast(iate_.phase().fluid()); + return iate_.phase().fluid(); } const phaseModel& otherPhase() const @@ -156,6 +156,15 @@ public: return 1.0/(36*constant::mathematical::pi); } + //- Return the bubble surface tension coefficient + tmp sigma() const + { + return fluid().sigma + ( + phasePairKey(phase().name(), otherPhase().name()) + ); + } + //- Return the bubble relative velocity tmp Ur() const; diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/dummy/dummy.C b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/diameterModels/IATE/IATEsources/dummy/dummy.C similarity index 96% rename from applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/dummy/dummy.C rename to applications/solvers/multiphase/reactingEulerFoam/phaseSystems/diameterModels/IATE/IATEsources/dummy/dummy.C index b97e542e65..2df2534098 100644 --- a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/dummy/dummy.C +++ b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/diameterModels/IATE/IATEsources/dummy/dummy.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2013-2018 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2013-2020 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/dummy/dummy.H b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/diameterModels/IATE/IATEsources/dummy/dummy.H similarity index 97% rename from applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/dummy/dummy.H rename to applications/solvers/multiphase/reactingEulerFoam/phaseSystems/diameterModels/IATE/IATEsources/dummy/dummy.H index 74c73ac255..ad5d3135c4 100644 --- a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/dummy/dummy.H +++ b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/diameterModels/IATE/IATEsources/dummy/dummy.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2013-2018 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2013-2020 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/phaseChange/phaseChange.C b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/diameterModels/IATE/IATEsources/phaseChange/IATEphaseChange.C similarity index 96% rename from applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/phaseChange/phaseChange.C rename to applications/solvers/multiphase/reactingEulerFoam/phaseSystems/diameterModels/IATE/IATEsources/phaseChange/IATEphaseChange.C index 6c83200426..b3f995ceeb 100644 --- a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/phaseChange/phaseChange.C +++ b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/diameterModels/IATE/IATEsources/phaseChange/IATEphaseChange.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2016-2019 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2016-2020 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -23,8 +23,7 @@ License \*---------------------------------------------------------------------------*/ -#include "phaseChange.H" -#include "twoPhaseSystem.H" +#include "IATEphaseChange.H" #include "phaseSystem.H" #include "ThermalPhaseChangePhaseSystem.H" #include "MomentumTransferPhaseSystem.H" diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/phaseChange/phaseChange.H b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/diameterModels/IATE/IATEsources/phaseChange/IATEphaseChange.H similarity index 95% rename from applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/phaseChange/phaseChange.H rename to applications/solvers/multiphase/reactingEulerFoam/phaseSystems/diameterModels/IATE/IATEsources/phaseChange/IATEphaseChange.H index e11c2ed68d..4c0d6e6186 100644 --- a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/phaseChange/phaseChange.H +++ b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/diameterModels/IATE/IATEsources/phaseChange/IATEphaseChange.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2016-2019 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2016-2020 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -32,8 +32,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef phaseChange_H -#define phaseChange_H +#ifndef IATEphaseChange_H +#define IATEphaseChange_H #include "IATEsource.H" diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/randomCoalescence/randomCoalescence.C b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/diameterModels/IATE/IATEsources/randomCoalescence/IATErandomCoalescence.C similarity index 96% rename from applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/randomCoalescence/randomCoalescence.C rename to applications/solvers/multiphase/reactingEulerFoam/phaseSystems/diameterModels/IATE/IATEsources/randomCoalescence/IATErandomCoalescence.C index 5a773bff59..e5c4329c6e 100644 --- a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/randomCoalescence/randomCoalescence.C +++ b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/diameterModels/IATE/IATEsources/randomCoalescence/IATErandomCoalescence.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2013-2019 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2013-2020 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -23,7 +23,7 @@ License \*---------------------------------------------------------------------------*/ -#include "randomCoalescence.H" +#include "IATErandomCoalescence.H" #include "fvmSup.H" #include "addToRunTimeSelectionTable.H" diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/randomCoalescence/randomCoalescence.H b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/diameterModels/IATE/IATEsources/randomCoalescence/IATErandomCoalescence.H similarity index 95% rename from applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/randomCoalescence/randomCoalescence.H rename to applications/solvers/multiphase/reactingEulerFoam/phaseSystems/diameterModels/IATE/IATEsources/randomCoalescence/IATErandomCoalescence.H index 2b9ca151fc..5524f94c50 100644 --- a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/randomCoalescence/randomCoalescence.H +++ b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/diameterModels/IATE/IATEsources/randomCoalescence/IATErandomCoalescence.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2013-2019 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2013-2020 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -40,8 +40,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef randomCoalescence_H -#define randomCoalescence_H +#ifndef IATErandomCoalescence_H +#define IATErandomCoalescence_H #include "IATEsource.H" diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/turbulentBreakUp/turbulentBreakUp.C b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/diameterModels/IATE/IATEsources/turbulentBreakUp/IATEturbulentBreakUp.C similarity index 96% rename from applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/turbulentBreakUp/turbulentBreakUp.C rename to applications/solvers/multiphase/reactingEulerFoam/phaseSystems/diameterModels/IATE/IATEsources/turbulentBreakUp/IATEturbulentBreakUp.C index dc36a98ebf..6ca683eb52 100644 --- a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/turbulentBreakUp/turbulentBreakUp.C +++ b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/diameterModels/IATE/IATEsources/turbulentBreakUp/IATEturbulentBreakUp.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2013-2018 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2013-2020 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -23,7 +23,7 @@ License \*---------------------------------------------------------------------------*/ -#include "turbulentBreakUp.H" +#include "IATEturbulentBreakUp.H" #include "fvmSup.H" #include "addToRunTimeSelectionTable.H" diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/turbulentBreakUp/turbulentBreakUp.H b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/diameterModels/IATE/IATEsources/turbulentBreakUp/IATEturbulentBreakUp.H similarity index 95% rename from applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/turbulentBreakUp/turbulentBreakUp.H rename to applications/solvers/multiphase/reactingEulerFoam/phaseSystems/diameterModels/IATE/IATEsources/turbulentBreakUp/IATEturbulentBreakUp.H index e912d4f3a6..89a7bd34d8 100644 --- a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/turbulentBreakUp/turbulentBreakUp.H +++ b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/diameterModels/IATE/IATEsources/turbulentBreakUp/IATEturbulentBreakUp.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2013-2019 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2013-2020 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -39,8 +39,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef turbulentBreakUp_H -#define turbulentBreakUp_H +#ifndef IATEturbulentBreakUp_H +#define IATEturbulentBreakUp_H #include "IATEsource.H" diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/wakeEntrainmentCoalescence/wakeEntrainmentCoalescence.C b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/diameterModels/IATE/IATEsources/wakeEntrainmentCoalescence/IATEwakeEntrainmentCoalescence.C similarity index 95% rename from applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/wakeEntrainmentCoalescence/wakeEntrainmentCoalescence.C rename to applications/solvers/multiphase/reactingEulerFoam/phaseSystems/diameterModels/IATE/IATEsources/wakeEntrainmentCoalescence/IATEwakeEntrainmentCoalescence.C index c3258ccb2a..1b2f0d9a6f 100644 --- a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/wakeEntrainmentCoalescence/wakeEntrainmentCoalescence.C +++ b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/diameterModels/IATE/IATEsources/wakeEntrainmentCoalescence/IATEwakeEntrainmentCoalescence.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2013-2019 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2013-2020 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -23,7 +23,7 @@ License \*---------------------------------------------------------------------------*/ -#include "wakeEntrainmentCoalescence.H" +#include "IATEwakeEntrainmentCoalescence.H" #include "fvmSup.H" #include "addToRunTimeSelectionTable.H" diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/wakeEntrainmentCoalescence/wakeEntrainmentCoalescence.H b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/diameterModels/IATE/IATEsources/wakeEntrainmentCoalescence/IATEwakeEntrainmentCoalescence.H similarity index 95% rename from applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/wakeEntrainmentCoalescence/wakeEntrainmentCoalescence.H rename to applications/solvers/multiphase/reactingEulerFoam/phaseSystems/diameterModels/IATE/IATEsources/wakeEntrainmentCoalescence/IATEwakeEntrainmentCoalescence.H index 5402f4fe56..9d2559de92 100644 --- a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/wakeEntrainmentCoalescence/wakeEntrainmentCoalescence.H +++ b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/diameterModels/IATE/IATEsources/wakeEntrainmentCoalescence/IATEwakeEntrainmentCoalescence.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2013-2019 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2013-2020 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -39,8 +39,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef wakeEntrainmentCoalescence_H -#define wakeEntrainmentCoalescence_H +#ifndef IATEwakeEntrainmentCoalescence_H +#define IATEwakeEntrainmentCoalescence_H #include "IATEsource.H" diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/wallBoiling/wallBoiling.C b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/diameterModels/IATE/IATEsources/wallBoiling/IATEwallBoiling.C similarity index 99% rename from applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/wallBoiling/wallBoiling.C rename to applications/solvers/multiphase/reactingEulerFoam/phaseSystems/diameterModels/IATE/IATEsources/wallBoiling/IATEwallBoiling.C index 2c306f8f02..13a530156a 100644 --- a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/wallBoiling/wallBoiling.C +++ b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/diameterModels/IATE/IATEsources/wallBoiling/IATEwallBoiling.C @@ -23,7 +23,7 @@ License \*---------------------------------------------------------------------------*/ -#include "wallBoiling.H" +#include "IATEwallBoiling.H" #include "alphatWallBoilingWallFunctionFvPatchScalarField.H" #include "fvmSup.H" #include "addToRunTimeSelectionTable.H" diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/wallBoiling/wallBoiling.H b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/diameterModels/IATE/IATEsources/wallBoiling/IATEwallBoiling.H similarity index 95% rename from applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/wallBoiling/wallBoiling.H rename to applications/solvers/multiphase/reactingEulerFoam/phaseSystems/diameterModels/IATE/IATEsources/wallBoiling/IATEwallBoiling.H index a716ed1c15..d91ceba460 100644 --- a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/wallBoiling/wallBoiling.H +++ b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/diameterModels/IATE/IATEsources/wallBoiling/IATEwallBoiling.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2016-2018 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2016-2020 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -32,8 +32,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef wallBoiling_H -#define wallBoiling_H +#ifndef IATEwallBoiling_H +#define IATEwallBoiling_H #include "IATEsource.H" diff --git a/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseSystem/phaseSystem.H b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseSystem/phaseSystem.H index d57387e7e6..58d14d02f0 100644 --- a/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseSystem/phaseSystem.H +++ b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseSystem/phaseSystem.H @@ -319,6 +319,10 @@ public: //- Return the phase pairs inline const phasePairTable& phasePairs() const; + //- Return the phase not given as an argument in a two-phase system + // An error is generated if the system is not two-phase + inline const phaseModel& otherPhase(const phaseModel& phase) const; + //- Return the mixture flux inline const surfaceScalarField& phi() const; @@ -439,6 +443,18 @@ public: // Transfers + //- Return the drag coefficient for phase pair + virtual tmp Kd(const phasePairKey& key) const = 0; + + //- Return the virtual mass coefficient for phase pair + virtual tmp Vm(const phasePairKey& key) const = 0; + + //- Return the face drag coefficient for phase pair + virtual tmp Kdf + ( + const phasePairKey& key + ) const = 0; + //- Return the momentum transfer matrices for the cell-based // algorithm virtual autoPtr momentumTransfer() = 0; diff --git a/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseSystem/phaseSystemI.H b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseSystem/phaseSystemI.H index 906d013cd6..869b7ba431 100644 --- a/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseSystem/phaseSystemI.H +++ b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseSystem/phaseSystemI.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2014-2018 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2014-2020 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -108,6 +108,29 @@ Foam::phaseSystem::phasePairs() const } +inline const Foam::phaseModel& Foam::phaseSystem::otherPhase +( + const phaseModel& phase +) const +{ + if (phaseModels_.size() != 2) + { + FatalErrorInFunction + << "Call from a two-phase model in a multi-phase system." + << exit(FatalError); + } + + if (&phase == &phaseModels_[0]) + { + return phaseModels_[1]; + } + else + { + return phaseModels_[0]; + } +} + + inline const Foam::surfaceScalarField& Foam::phaseSystem::phi() const { return phi_; diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/multiphaseSystem/multiphaseSystem.H b/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/multiphaseSystem/multiphaseSystem.H index 86f714e40b..34bbe07d6d 100644 --- a/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/multiphaseSystem/multiphaseSystem.H +++ b/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/multiphaseSystem/multiphaseSystem.H @@ -103,12 +103,6 @@ private: const phaseModel& alpha2 ) const; - //- Return the drag coefficient for phase pair - virtual tmp Kd(const phasePairKey& key) const = 0; - - //- Return the virtual mass coefficient for phase pair - virtual tmp Vm(const phasePairKey& key) const = 0; - protected: diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/Allwclean b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/Allwclean index 20b40a9e12..11f2624bb1 100755 --- a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/Allwclean +++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/Allwclean @@ -2,7 +2,6 @@ cd ${0%/*} || exit 1 # Run from this directory wclean libso twoPhaseSystem -wclean libso twoPhaseCompressibleMomentumTransportModels wclean #------------------------------------------------------------------------------ diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/Allwmake b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/Allwmake index 360201affa..f5e9b28053 100755 --- a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/Allwmake +++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/Allwmake @@ -5,7 +5,6 @@ cd ${0%/*} || exit 1 # Run from this directory . $WM_PROJECT_DIR/wmake/scripts/AllwmakeParseArguments wmake $targetType twoPhaseSystem -wmake $targetType twoPhaseCompressibleMomentumTransportModels wmake $targetType #------------------------------------------------------------------------------ diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/Make/options b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/Make/options index 322b913453..420ad7e789 100644 --- a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/Make/options +++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/Make/options @@ -19,7 +19,6 @@ EXE_LIBS = \ -lreactingEulerianInterfacialCompositionModels \ -lphaseReactingMomentumTransportModels \ -lphaseReactingThermophysicalTransportModels \ - -ltwoPhaseReactingMomentumTransportModels \ -lthermophysicalTransportModels \ -lfiniteVolume \ -lfvOptions \ diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleMomentumTransportModels/Make/files b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleMomentumTransportModels/Make/files deleted file mode 100644 index 580c246732..0000000000 --- a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleMomentumTransportModels/Make/files +++ /dev/null @@ -1,3 +0,0 @@ -twoPhaseCompressibleMomentumTransportModels.C - -LIB = $(FOAM_LIBBIN)/libtwoPhaseReactingMomentumTransportModels diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleMomentumTransportModels/Make/options b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleMomentumTransportModels/Make/options deleted file mode 100644 index 784006d189..0000000000 --- a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleMomentumTransportModels/Make/options +++ /dev/null @@ -1,20 +0,0 @@ -EXE_INC = \ - -I../twoPhaseSystem/lnInclude \ - -I../../phaseSystems/lnInclude \ - -I../../interfacialModels/lnInclude\ - -I../../interfacialCompositionModels/lnInclude \ - -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ - -I$(LIB_SRC)/MomentumTransportModels/compressible/lnInclude \ - -I$(LIB_SRC)/MomentumTransportModels/momentumTransportModels/lnInclude \ - -I$(LIB_SRC)/MomentumTransportModels/phaseCompressible/lnInclude \ - -I$(LIB_SRC)/finiteVolume/lnInclude \ - -I$(LIB_SRC)/meshTools/lnInclude - -LIB_LIBS = \ - -lreactingPhaseSystem \ - -lreactingTwoPhaseSystem \ - -lreactingEulerianInterfacialModels \ - -lreactingEulerianInterfacialCompositionModels \ - -lfiniteVolume \ - -lfvOptions \ - -lmeshTools diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleMomentumTransportModels/twoPhaseCompressibleMomentumTransportModels.C b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleMomentumTransportModels/twoPhaseCompressibleMomentumTransportModels.C deleted file mode 100644 index 8dfa3238c2..0000000000 --- a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleMomentumTransportModels/twoPhaseCompressibleMomentumTransportModels.C +++ /dev/null @@ -1,76 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2014-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 "phaseCompressibleMomentumTransportModel.H" -#include "addToRunTimeSelectionTable.H" -#include "makeMomentumTransportModel.H" - -#include "laminarModel.H" -#include "RASModel.H" -#include "LESModel.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -makeMomentumTransportModelTypes -( - volScalarField, - volScalarField, - compressibleMomentumTransportModel, - PhaseCompressibleMomentumTransportModel, - phaseModel -); - -#define makeLaminarModel(Type) \ - makeTemplatedLaminarModel \ - (phaseModelPhaseCompressibleMomentumTransportModel, laminar, Type) - -#define makeRASModel(Type) \ - makeTemplatedMomentumTransportModel \ - (phaseModelPhaseCompressibleMomentumTransportModel, RAS, Type) - -#define makeLESModel(Type) \ - makeTemplatedMomentumTransportModel \ - (phaseModelPhaseCompressibleMomentumTransportModel, LES, Type) - -#include "mixtureKEpsilon.H" -makeRASModel(mixtureKEpsilon); - -#include "LaheyKEpsilon.H" -makeRASModel(LaheyKEpsilon); - -#include "continuousGasKEpsilon.H" -makeRASModel(continuousGasKEpsilon); - -#include "SmagorinskyZhang.H" -makeLESModel(SmagorinskyZhang); - -#include "NicenoKEqn.H" -makeLESModel(NicenoKEqn); - -#include "continuousGasKEqn.H" -makeLESModel(continuousGasKEqn); - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/Make/files b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/Make/files index 67caa0d98b..7914420527 100644 --- a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/Make/files +++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/Make/files @@ -1,11 +1,3 @@ -diameterModels/IATE/IATE.C -diameterModels/IATE/IATEsources/IATEsource/IATEsource.C -diameterModels/IATE/IATEsources/wakeEntrainmentCoalescence/wakeEntrainmentCoalescence.C -diameterModels/IATE/IATEsources/turbulentBreakUp/turbulentBreakUp.C -diameterModels/IATE/IATEsources/randomCoalescence/randomCoalescence.C -diameterModels/IATE/IATEsources/phaseChange/phaseChange.C -diameterModels/IATE/IATEsources/wallBoiling/wallBoiling.C - twoPhaseSystem.C newTwoPhaseSystem.C twoPhaseSystems.C diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/Make/options b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/Make/options index e2791568d2..a3969395fa 100644 --- a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/Make/options +++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/Make/options @@ -3,7 +3,6 @@ EXE_INC = \ -I../../interfacialCompositionModels/lnInclude \ -I../../phaseSystems/lnInclude \ -I../../phaseCompressibleMomentumTransportModels/lnInclude \ - -I../twoPhaseCompressibleMomentumTransportModels/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \ diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/twoPhaseSystem.H b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/twoPhaseSystem.H index d16d091ae3..a22637c954 100644 --- a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/twoPhaseSystem.H +++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/twoPhaseSystem.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2013-2019 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2013-2020 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -53,19 +53,6 @@ class twoPhaseSystem : public phaseSystem { -private: - - // Private Member Functions - - //- Return the drag coefficient for phase pair - virtual tmp Kd(const phasePairKey& key) const = 0; - - //- Return the face drag coefficient for phase pair - virtual tmp Kdf(const phasePairKey& key) const = 0; - - //- Return the virtual mass coefficient for phase pair - virtual tmp Vm(const phasePairKey& key) const = 0; - protected: @@ -124,6 +111,9 @@ public: using phaseSystem::sigma; using phaseSystem::dmdts; + using phaseSystem::Kd; + using phaseSystem::Kdf; + using phaseSystem::Vm; //- Return phase model 1 const phaseModel& phase1() const; diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/Allwclean b/applications/solvers/multiphase/twoPhaseEulerFoam/Allwclean deleted file mode 100755 index d781ff3b19..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/Allwclean +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh -cd ${0%/*} || exit 1 # Run from this directory - -wclean libso twoPhaseSystem -wclean libso interfacialModels -wclean libso phaseCompressibleMomentumTransportModels -wclean libso phaseThermophysicalTransportModels -wclean - -#------------------------------------------------------------------------------ diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/Allwmake b/applications/solvers/multiphase/twoPhaseEulerFoam/Allwmake deleted file mode 100755 index d5088a2c79..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/Allwmake +++ /dev/null @@ -1,13 +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 twoPhaseSystem -wmake $targetType interfacialModels -wmake $targetType phaseCompressibleMomentumTransportModels -wmake $targetType phaseThermophysicalTransportModels -wmake $targetType - -#------------------------------------------------------------------------------ diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/CourantNos.H b/applications/solvers/multiphase/twoPhaseEulerFoam/CourantNos.H deleted file mode 100644 index d828f32769..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/CourantNos.H +++ /dev/null @@ -1,12 +0,0 @@ - #include "CourantNo.H" - -{ - scalar UrCoNum = 0.5*gMax - ( - fvc::surfaceSum(mag(phi1 - phi2))().primitiveField()/mesh.V().field() - )*runTime.deltaTValue(); - - Info<< "Max Ur Courant Number = " << UrCoNum << endl; - - CoNum = max(CoNum, UrCoNum); -} diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/EEqns.H b/applications/solvers/multiphase/twoPhaseEulerFoam/EEqns.H deleted file mode 100644 index e6dec13b3f..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/EEqns.H +++ /dev/null @@ -1,91 +0,0 @@ -{ - volScalarField& he1 = thermo1.he(); - volScalarField& he2 = thermo2.he(); - - volScalarField Cpv1("Cpv1", thermo1.Cpv()); - volScalarField Cpv2("Cpv2", thermo2.Cpv()); - - volScalarField Kh(fluid.Kh()); - - fvScalarMatrix E1Eqn - ( - fvm::ddt(alpha1, rho1, he1) + fvm::div(alphaRhoPhi1, he1) - - fvm::Sp(contErr1, he1) - - + fvc::ddt(alpha1, rho1, K1) + fvc::div(alphaRhoPhi1, K1) - - contErr1*K1 - + ( - he1.name() == thermo1.phasePropertyName("e") - ? fvc::div(fvc::absolute(alphaPhi1, alpha1, U1), p) - + p*fvc::ddt(alpha1) - : -alpha1*dpdt - ) - - - fvm::laplacian - ( - fvc::interpolate(alpha1) - *fvc::interpolate(thermo1.alphaEff(phase1.turbulence().mut())), - he1 - ) - ); - - E1Eqn.relax(); - - E1Eqn -= - ( - Kh*(thermo2.T() - thermo1.T()) - + Kh*he1/Cpv1 - - fvm::Sp(Kh/Cpv1, he1) - + alpha1*rho1*(U1&g) - + fvOptions(alpha1, rho1, he1) - ); - - fvScalarMatrix E2Eqn - ( - fvm::ddt(alpha2, rho2, he2) + fvm::div(alphaRhoPhi2, he2) - - fvm::Sp(contErr2, he2) - - + fvc::ddt(alpha2, rho2, K2) + fvc::div(alphaRhoPhi2, K2) - - contErr2*K2 - + ( - he2.name() == thermo2.phasePropertyName("e") - ? fvc::div(fvc::absolute(alphaPhi2, alpha2, U2), p) - + p*fvc::ddt(alpha1) - : -alpha2*dpdt - ) - - - fvm::laplacian - ( - fvc::interpolate(alpha2) - *fvc::interpolate(thermo2.alphaEff(phase2.turbulence().mut())), - he2 - ) - ); - - E2Eqn.relax(); - - E2Eqn -= - ( - Kh*(thermo1.T() - thermo2.T()) - + Kh*he2/Cpv2 - - fvm::Sp(Kh/Cpv2, he2) - + alpha2*rho2*(U2&g) - + fvOptions(alpha2, rho2, he2) - ); - - fvOptions.constrain(E1Eqn); - E1Eqn.solve(); - fvOptions.correct(he1); - - fvOptions.constrain(E2Eqn); - E2Eqn.solve(); - fvOptions.correct(he2); - - thermo1.correct(); - Info<< "min " << thermo1.T().name() - << " " << min(thermo1.T()).value() << endl; - - thermo2.correct(); - Info<< "min " << thermo2.T().name() - << " " << min(thermo2.T()).value() << endl; -} diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/Make/files b/applications/solvers/multiphase/twoPhaseEulerFoam/Make/files deleted file mode 100644 index 4de1bb96ed..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/Make/files +++ /dev/null @@ -1,3 +0,0 @@ -twoPhaseEulerFoam.C - -EXE = $(FOAM_APPBIN)/twoPhaseEulerFoam diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/Make/options b/applications/solvers/multiphase/twoPhaseEulerFoam/Make/options deleted file mode 100644 index 56de56dbc2..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/Make/options +++ /dev/null @@ -1,25 +0,0 @@ -EXE_INC = \ - -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ - -I$(LIB_SRC)/MomentumTransportModels/momentumTransportModels/lnInclude \ - -I$(LIB_SRC)/MomentumTransportModels/compressible/lnInclude \ - -I$(LIB_SRC)/MomentumTransportModels/phaseCompressible/lnInclude \ - -IphaseCompressibleMomentumTransportModels/lnInclude \ - -IinterfacialModels/lnInclude \ - -ItwoPhaseSystem/lnInclude \ - -I$(LIB_SRC)/finiteVolume/lnInclude \ - -I$(LIB_SRC)/meshTools/lnInclude \ - -I$(LIB_SRC)/sampling/lnInclude - -EXE_LIBS = \ - -lfluidThermophysicalModels \ - -lspecie \ - -lmomentumTransportModels \ - -lphaseCompressibleMomentumTransportModels \ - -lfluidThermoMomentumTransportModels \ - -lthermophysicalTransportModels \ - -lincompressibleTransportModels \ - -lcompressibleTwoPhaseSystem \ - -lcompressibleEulerianInterfacialModels \ - -lfiniteVolume \ - -lfvOptions \ - -lmeshTools diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/contErrs.H b/applications/solvers/multiphase/twoPhaseEulerFoam/contErrs.H deleted file mode 100644 index 83ca7cea92..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/contErrs.H +++ /dev/null @@ -1,13 +0,0 @@ -volScalarField contErr1 -( - "contErr1", - fvc::ddt(alpha1, rho1) + fvc::div(alphaRhoPhi1) - - (fvOptions(alpha1, rho1)&rho1) -); - -volScalarField contErr2 -( - "contErr2", - fvc::ddt(alpha2, rho2) + fvc::div(alphaRhoPhi2) - - (fvOptions(alpha2, rho2)&rho2) -); diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/correctContErrs.H b/applications/solvers/multiphase/twoPhaseEulerFoam/correctContErrs.H deleted file mode 100644 index 75355b3963..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/correctContErrs.H +++ /dev/null @@ -1,7 +0,0 @@ -contErr1 = - fvc::ddt(alpha1, rho1) + fvc::div(alphaRhoPhi1) - - (fvOptions(alpha1, rho1)&rho1); - -contErr2 = - fvc::ddt(alpha2, rho2) + fvc::div(alphaRhoPhi2) - - (fvOptions(alpha2, rho2)&rho2); diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/createFieldRefs.H b/applications/solvers/multiphase/twoPhaseEulerFoam/createFieldRefs.H deleted file mode 100644 index 71c3e5e39d..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/createFieldRefs.H +++ /dev/null @@ -1,20 +0,0 @@ -volScalarField& alpha2 = phase2; - -surfaceScalarField& phi1 = phase1.phi(); -surfaceScalarField& alphaPhi1 = phase1.alphaPhi(); -surfaceScalarField& alphaRhoPhi1 = phase1.alphaRhoPhi(); - -surfaceScalarField& phi2 = phase2.phi(); -surfaceScalarField& alphaPhi2 = phase2.alphaPhi(); -surfaceScalarField& alphaRhoPhi2 = phase2.alphaRhoPhi(); - -surfaceScalarField& phi = fluid.phi(); - -rhoThermo& thermo1 = phase1.thermo(); -rhoThermo& thermo2 = phase2.thermo(); - -volScalarField& rho1 = thermo1.rho(); -const volScalarField& psi1 = thermo1.psi(); - -volScalarField& rho2 = thermo2.rho(); -const volScalarField& psi2 = thermo2.psi(); diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/createFields.H b/applications/solvers/multiphase/twoPhaseEulerFoam/createFields.H deleted file mode 100644 index aebb443897..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/createFields.H +++ /dev/null @@ -1,85 +0,0 @@ -#include "readGravitationalAcceleration.H" -#include "readhRef.H" - -Info<< "Creating twoPhaseSystem\n" << endl; - -twoPhaseSystem fluid(mesh, g); - -phaseModel& phase1 = fluid.phase1(); -phaseModel& phase2 = fluid.phase2(); - -volScalarField& alpha1 = phase1; -volVectorField& U1 = phase1.U(); -volVectorField& U2 = phase2.U(); - -volScalarField& p = phase1.thermo().p(); - -dimensionedScalar pMin -( - "pMin", - dimPressure, - fluid -); - -#include "gh.H" - -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 - ), - fluid.U() -); - -label pRefCell = 0; -scalar pRefValue = 0.0; -setRefCell -( - p, - p_rgh, - pimple.dict(), - pRefCell, - pRefValue -); -mesh.setFluxRequired(p_rgh.name()); -mesh.setFluxRequired(alpha1.name()); - -Info<< "Creating field dpdt\n" << endl; -volScalarField dpdt -( - IOobject - ( - "dpdt", - runTime.timeName(), - mesh - ), - mesh, - dimensionedScalar(p.dimensions()/dimTime, 0) -); - - -Info<< "Creating field kinetic energy K\n" << endl; -volScalarField K1(IOobject::groupName("K", phase1.name()), 0.5*magSqr(U1)); -volScalarField K2(IOobject::groupName("K", phase2.name()), 0.5*magSqr(U2)); - -#include "createMRF.H" -#include "createFvOptions.H" diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/createMRF.H b/applications/solvers/multiphase/twoPhaseEulerFoam/createMRF.H deleted file mode 100644 index 76f7193253..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/createMRF.H +++ /dev/null @@ -1,4 +0,0 @@ - IOMRFZoneList MRF(mesh); - MRF.correctBoundaryVelocity(U1); - MRF.correctBoundaryVelocity(U2); - MRF.correctBoundaryVelocity(U); diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/Make/files b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/Make/files deleted file mode 100644 index b4abd28a68..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/Make/files +++ /dev/null @@ -1,64 +0,0 @@ -dragModels/dragModel/dragModel.C -dragModels/dragModel/newDragModel.C -dragModels/segregated/segregated.C -dragModels/Ergun/Ergun.C -dragModels/Gibilaro/Gibilaro.C -dragModels/GidaspowErgunWenYu/GidaspowErgunWenYu.C -dragModels/GidaspowSchillerNaumann/GidaspowSchillerNaumann.C -dragModels/Lain/Lain.C -dragModels/SchillerNaumann/SchillerNaumann.C -dragModels/SyamlalOBrien/SyamlalOBrien.C -dragModels/TomiyamaCorrelated/TomiyamaCorrelated.C -dragModels/TomiyamaAnalytic/TomiyamaAnalytic.C -dragModels/WenYu/WenYu.C -dragModels/IshiiZuber/IshiiZuber.C - -swarmCorrections/swarmCorrection/swarmCorrection.C -swarmCorrections/swarmCorrection/newSwarmCorrection.C -swarmCorrections/noSwarm/noSwarm.C -swarmCorrections/TomiyamaSwarm/TomiyamaSwarm.C - -liftModels/liftModel/liftModel.C -liftModels/liftModel/newLiftModel.C -liftModels/noLift/noLift.C -liftModels/constantLiftCoefficient/constantLiftCoefficient.C -liftModels/Moraga/Moraga.C -liftModels/LegendreMagnaudet/LegendreMagnaudet.C -liftModels/TomiyamaLift/TomiyamaLift.C - -heatTransferModels/heatTransferModel/heatTransferModel.C -heatTransferModels/heatTransferModel/newHeatTransferModel.C -heatTransferModels/RanzMarshall/RanzMarshall.C -heatTransferModels/sphericalHeatTransfer/sphericalHeatTransfer.C - -virtualMassModels/virtualMassModel/virtualMassModel.C -virtualMassModels/virtualMassModel/newVirtualMassModel.C -virtualMassModels/noVirtualMass/noVirtualMass.C -virtualMassModels/constantVirtualMassCoefficient/constantVirtualMassCoefficient.C -virtualMassModels/Lamb/Lamb.C - -wallLubricationModels/wallLubricationModel/wallLubricationModel.C -wallLubricationModels/wallLubricationModel/newWallLubricationModel.C -wallLubricationModels/noWallLubrication/noWallLubrication.C -wallLubricationModels/Antal/Antal.C -wallLubricationModels/Frank/Frank.C -wallLubricationModels/TomiyamaWallLubrication/TomiyamaWallLubrication.C - -turbulentDispersionModels/turbulentDispersionModel/turbulentDispersionModel.C -turbulentDispersionModels/turbulentDispersionModel/newTurbulentDispersionModel.C -turbulentDispersionModels/noTurbulentDispersion/noTurbulentDispersion.C -turbulentDispersionModels/constantTurbulentDispersionCoefficient/constantTurbulentDispersionCoefficient.C -turbulentDispersionModels/Burns/Burns.C -turbulentDispersionModels/Gosman/Gosman.C -turbulentDispersionModels/LopezDeBertodano/LopezDeBertodano.C - -aspectRatioModels/aspectRatioModel/aspectRatioModel.C -aspectRatioModels/aspectRatioModel/newAspectRatioModel.C -aspectRatioModels/constantAspectRatio/constantAspectRatio.C -aspectRatioModels/TomiyamaAspectRatio/TomiyamaAspectRatio.C -aspectRatioModels/VakhrushevEfremov/VakhrushevEfremov.C -aspectRatioModels/Wellek/Wellek.C - -wallDependentModel/wallDependentModel.C - -LIB = $(FOAM_LIBBIN)/libcompressibleEulerianInterfacialModels diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/Make/options b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/Make/options deleted file mode 100644 index 864ed03af8..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/Make/options +++ /dev/null @@ -1,13 +0,0 @@ -EXE_INC = \ - -I$(LIB_SRC)/finiteVolume/lnInclude \ - -I$(LIB_SRC)/meshTools/lnInclude \ - -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ - -I$(LIB_SRC)/MomentumTransportModels/momentumTransportModels/lnInclude \ - -I$(LIB_SRC)/MomentumTransportModels/compressible/lnInclude \ - -I$(LIB_SRC)/MomentumTransportModels/phaseCompressible/lnInclude \ - -I../twoPhaseSystem/lnInclude - -LIB_LIBS = \ - -lcompressibleTwoPhaseSystem \ - -lfluidThermophysicalModels \ - -lspecie diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/aspectRatioModels/TomiyamaAspectRatio/TomiyamaAspectRatio.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/aspectRatioModels/TomiyamaAspectRatio/TomiyamaAspectRatio.C deleted file mode 100644 index 417acf3a7d..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/aspectRatioModels/TomiyamaAspectRatio/TomiyamaAspectRatio.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) 2014-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 "TomiyamaAspectRatio.H" -#include "phasePair.H" -#include "addToRunTimeSelectionTable.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ -namespace aspectRatioModels -{ - defineTypeNameAndDebug(TomiyamaAspectRatio, 0); - addToRunTimeSelectionTable - ( - aspectRatioModel, - TomiyamaAspectRatio, - dictionary - ); -} -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::aspectRatioModels::TomiyamaAspectRatio::TomiyamaAspectRatio -( - const dictionary& dict, - const phasePair& pair -) -: - VakhrushevEfremov(dict, pair), - wallDependentModel(pair.phase1().mesh()) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::aspectRatioModels::TomiyamaAspectRatio::~TomiyamaAspectRatio() -{} - - -// * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * // - -Foam::tmp -Foam::aspectRatioModels::TomiyamaAspectRatio::E() const -{ - return - VakhrushevEfremov::E() - *max - ( - scalar(1) - 0.35*yWall()/pair_.dispersed().d(), - scalar(0.65) - ); -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/aspectRatioModels/TomiyamaAspectRatio/TomiyamaAspectRatio.H b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/aspectRatioModels/TomiyamaAspectRatio/TomiyamaAspectRatio.H deleted file mode 100644 index 85815f63b5..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/aspectRatioModels/TomiyamaAspectRatio/TomiyamaAspectRatio.H +++ /dev/null @@ -1,101 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2014-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::aspectRatioModels::TomiyamaAspectRatio - -Description - Aspect ratio model of Tomiyama. - - Reference: - \verbatim - "Implementation and Comparison of Correlations for interfacial Forces - in a Gas-Liquid System within an Euler-Euler Framework" - Otromke, M., - PhD Thesis, April 2013 - \endverbatim - -SourceFiles - TomiyamaAspectRatio.C - -\*---------------------------------------------------------------------------*/ - -#ifndef TomiyamaAspectRatio_H -#define TomiyamaAspectRatio_H - -#include "VakhrushevEfremov.H" -#include "wallDependentModel.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ -namespace aspectRatioModels -{ - -/*---------------------------------------------------------------------------*\ - Class TomiyamaAspectRatio Declaration -\*---------------------------------------------------------------------------*/ - -class TomiyamaAspectRatio -: - public VakhrushevEfremov, - public wallDependentModel -{ -public: - - //- Runtime type information - TypeName("Tomiyama"); - - - // Constructors - - //- Construct from a dictionary and an ordered phase pair - TomiyamaAspectRatio - ( - const dictionary& dict, - const phasePair& pair - ); - - - //- Destructor - virtual ~TomiyamaAspectRatio(); - - - // Member Functions - - //- Aspect ratio - virtual tmp E() const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace aspectRatioModels -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/aspectRatioModels/VakhrushevEfremov/VakhrushevEfremov.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/aspectRatioModels/VakhrushevEfremov/VakhrushevEfremov.C deleted file mode 100644 index e6555b04d8..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/aspectRatioModels/VakhrushevEfremov/VakhrushevEfremov.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) 2014-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 "VakhrushevEfremov.H" -#include "phasePair.H" -#include "addToRunTimeSelectionTable.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ -namespace aspectRatioModels -{ - defineTypeNameAndDebug(VakhrushevEfremov, 0); - addToRunTimeSelectionTable - ( - aspectRatioModel, - VakhrushevEfremov, - dictionary - ); -} -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::aspectRatioModels::VakhrushevEfremov::VakhrushevEfremov -( - const dictionary& dict, - const phasePair& pair -) -: - aspectRatioModel(dict, pair) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::aspectRatioModels::VakhrushevEfremov::~VakhrushevEfremov() -{} - - -// * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * // - -Foam::tmp -Foam::aspectRatioModels::VakhrushevEfremov::E() const -{ - volScalarField Ta(pair_.Ta()); - - return - neg(Ta - scalar(1))*scalar(1) - + pos0(Ta - scalar(1))*neg(Ta - scalar(39.8)) - *pow3(0.81 + 0.206*tanh(1.6 - 2*log10(max(Ta, scalar(1))))) - + pos0(Ta - scalar(39.8))*0.24; -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/aspectRatioModels/VakhrushevEfremov/VakhrushevEfremov.H b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/aspectRatioModels/VakhrushevEfremov/VakhrushevEfremov.H deleted file mode 100644 index 998847a745..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/aspectRatioModels/VakhrushevEfremov/VakhrushevEfremov.H +++ /dev/null @@ -1,100 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2014-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::aspectRatioModels::VakhrushevEfremov - -Description - Aspect ratio model of Vakhrushev and Efremov. - - Reference: - \verbatim - "Interpolation formula for computing the velocities of single gas - bubbles in liquids" - Vakhrushev, I.A. and Efremov, G.I., - Chemistry and Technology of Fuels and Oils - Volume 6, Issue 5, May 1970, pp. 376-379, - \endverbatim - -SourceFiles - VakhrushevEfremov.C - -\*---------------------------------------------------------------------------*/ - -#ifndef VakhrushevEfremov_H -#define VakhrushevEfremov_H - -#include "aspectRatioModel.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ -namespace aspectRatioModels -{ - -/*---------------------------------------------------------------------------*\ - Class VakhrushevEfremov Declaration -\*---------------------------------------------------------------------------*/ - -class VakhrushevEfremov -: - public aspectRatioModel -{ -public: - - //- Runtime type information - TypeName("VakhrushevEfremov"); - - - // Constructors - - //- Construct from a dictionary and an ordered phase pair - VakhrushevEfremov - ( - const dictionary& dict, - const phasePair& pair - ); - - - //- Destructor - virtual ~VakhrushevEfremov(); - - - // Member Functions - - //- Aspect ratio - virtual tmp E() const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace aspectRatioModels -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/aspectRatioModels/Wellek/Wellek.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/aspectRatioModels/Wellek/Wellek.C deleted file mode 100644 index 57b59a9043..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/aspectRatioModels/Wellek/Wellek.C +++ /dev/null @@ -1,74 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2014-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 "Wellek.H" -#include "phasePair.H" -#include "addToRunTimeSelectionTable.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ -namespace aspectRatioModels -{ - defineTypeNameAndDebug(Wellek, 0); - addToRunTimeSelectionTable - ( - aspectRatioModel, - Wellek, - dictionary - ); -} -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::aspectRatioModels::Wellek::Wellek -( - const dictionary& dict, - const phasePair& pair -) -: - aspectRatioModel(dict, pair) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::aspectRatioModels::Wellek::~Wellek() -{} - - -// * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * // - -Foam::tmp -Foam::aspectRatioModels::Wellek::E() const -{ - return scalar(1)/(scalar(1) + 0.163*pow(pair_.Eo(), 0.757)); -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/aspectRatioModels/Wellek/Wellek.H b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/aspectRatioModels/Wellek/Wellek.H deleted file mode 100644 index 2c82ee8000..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/aspectRatioModels/Wellek/Wellek.H +++ /dev/null @@ -1,106 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2014-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::aspectRatioModels::Wellek - -Description - Aspect ratio model of Wellek et al. - - References: - \verbatim - "Implementation and Comparison of Correlations for interfacial Forces - in a Gas-Liquid System within an Euler-Euler Framework" - Otromke, M., - PhD Thesis, April 2013 - \endverbatim - - \verbatim - "Shape of liquid drops moving in liquid media" - Wellek, R.M., Agrawal, A.K., Skelland, A.H.P., - International Journal of Multiphase Flow - Volume 12, Issue 5, September 1966, pp. 854-862 - \endverbatim - -SourceFiles - Wellek.C - -\*---------------------------------------------------------------------------*/ - -#ifndef Wellek_H -#define Wellek_H - -#include "aspectRatioModel.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ -namespace aspectRatioModels -{ - -/*---------------------------------------------------------------------------*\ - Class Wellek Declaration -\*---------------------------------------------------------------------------*/ - -class Wellek -: - public aspectRatioModel -{ -public: - - //- Runtime type information - TypeName("Wellek"); - - - // Constructors - - //- Construct from a dictionary and an ordered phase pair - Wellek - ( - const dictionary& dict, - const phasePair& pair - ); - - - //- Destructor - virtual ~Wellek(); - - - // Member Functions - - //- Aspect ratio - virtual tmp E() const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace aspectRatioModels -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/aspectRatioModels/aspectRatioModel/aspectRatioModel.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/aspectRatioModels/aspectRatioModel/aspectRatioModel.C deleted file mode 100644 index b5536323fa..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/aspectRatioModels/aspectRatioModel/aspectRatioModel.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) 2014-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 "aspectRatioModel.H" -#include "phasePair.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ - defineTypeNameAndDebug(aspectRatioModel, 0); - defineRunTimeSelectionTable(aspectRatioModel, dictionary); -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::aspectRatioModel::aspectRatioModel -( - const dictionary& dict, - const phasePair& pair -) -: - pair_(pair) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::aspectRatioModel::~aspectRatioModel() -{} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/aspectRatioModels/aspectRatioModel/aspectRatioModel.H b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/aspectRatioModels/aspectRatioModel/aspectRatioModel.H deleted file mode 100644 index 48dfaefbef..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/aspectRatioModels/aspectRatioModel/aspectRatioModel.H +++ /dev/null @@ -1,121 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2014-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::aspectRatioModel - -Description - -SourceFiles - aspectRatioModel.C - newAspectRatioModel.C - -\*---------------------------------------------------------------------------*/ - -#ifndef aspectRatioModel_H -#define aspectRatioModel_H - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#include "volFields.H" -#include "dictionary.H" -#include "runTimeSelectionTables.H" - -namespace Foam -{ - -class phasePair; - -/*---------------------------------------------------------------------------*\ - Class aspectRatioModel Declaration -\*---------------------------------------------------------------------------*/ - -class aspectRatioModel -{ -protected: - - // Protected data - - //- Phase pair - const phasePair& pair_; - - -public: - - //- Runtime type information - TypeName("aspectRatioModel"); - - - // Declare runtime construction - declareRunTimeSelectionTable - ( - autoPtr, - aspectRatioModel, - dictionary, - ( - const dictionary& dict, - const phasePair& pair - ), - (dict, pair) - ); - - - // Constructors - - //- Construct from a dictionary and an ordered phase pair - aspectRatioModel - ( - const dictionary& dict, - const phasePair& pair - ); - - - //- Destructor - virtual ~aspectRatioModel(); - - - // Selectors - - static autoPtr New - ( - const dictionary& dict, - const phasePair& pair - ); - - - // Member Functions - - //- Aspect ratio - virtual tmp E() const = 0; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/aspectRatioModels/aspectRatioModel/newAspectRatioModel.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/aspectRatioModels/aspectRatioModel/newAspectRatioModel.C deleted file mode 100644 index 752e647ad2..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/aspectRatioModels/aspectRatioModel/newAspectRatioModel.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) 2014-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 "aspectRatioModel.H" -#include "phasePair.H" - -// * * * * * * * * * * * * * * * * Selector * * * * * * * * * * * * * * * * // - -Foam::autoPtr -Foam::aspectRatioModel::New -( - const dictionary& dict, - const phasePair& pair -) -{ - word aspectRatioModelType(dict.lookup("type")); - - Info<< "Selecting aspectRatioModel for " - << pair << ": " << aspectRatioModelType << endl; - - dictionaryConstructorTable::iterator cstrIter = - dictionaryConstructorTablePtr_->find(aspectRatioModelType); - - if (cstrIter == dictionaryConstructorTablePtr_->end()) - { - FatalErrorInFunction - << "Unknown aspectRatioModelType type " - << aspectRatioModelType << endl << endl - << "Valid aspectRatioModel types are : " << endl - << dictionaryConstructorTablePtr_->sortedToc() - << exit(FatalError); - } - - return cstrIter()(dict, pair); -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/aspectRatioModels/constantAspectRatio/constantAspectRatio.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/aspectRatioModels/constantAspectRatio/constantAspectRatio.C deleted file mode 100644 index 5c5912f2b9..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/aspectRatioModels/constantAspectRatio/constantAspectRatio.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) 2014-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 "constantAspectRatio.H" -#include "phasePair.H" -#include "addToRunTimeSelectionTable.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ -namespace aspectRatioModels -{ - defineTypeNameAndDebug(constantAspectRatio, 0); - addToRunTimeSelectionTable - ( - aspectRatioModel, - constantAspectRatio, - dictionary - ); -} -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::aspectRatioModels::constantAspectRatio::constantAspectRatio -( - const dictionary& dict, - const phasePair& pair -) -: - aspectRatioModel(dict, pair), - E0_("E0", dimless, dict) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::aspectRatioModels::constantAspectRatio::~constantAspectRatio() -{} - - -// * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * // - -Foam::tmp -Foam::aspectRatioModels::constantAspectRatio::E() const -{ - const fvMesh& mesh(this->pair_.phase1().mesh()); - - return volScalarField::New - ( - "zero", - mesh, - E0_ - ); -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/aspectRatioModels/constantAspectRatio/constantAspectRatio.H b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/aspectRatioModels/constantAspectRatio/constantAspectRatio.H deleted file mode 100644 index f0871f63b9..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/aspectRatioModels/constantAspectRatio/constantAspectRatio.H +++ /dev/null @@ -1,97 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2014-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::aspectRatioModels::constantAspectRatio - -Description - Constant value aspect ratio model. - -SourceFiles - constantAspectRatio.C - -\*---------------------------------------------------------------------------*/ - -#ifndef constantAspectRatio_H -#define constantAspectRatio_H - -#include "aspectRatioModel.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ -namespace aspectRatioModels -{ - -/*---------------------------------------------------------------------------*\ - Class constantAspectRatio Declaration -\*---------------------------------------------------------------------------*/ - -class constantAspectRatio -: - public aspectRatioModel -{ - // Private Data - - //- Constant aspect ratio value - const dimensionedScalar E0_; - - -public: - - //- Runtime type information - TypeName("constant"); - - - // Constructors - - //- Construct from a dictionary and an ordered phase pair - constantAspectRatio - ( - const dictionary& dict, - const phasePair& pair - ); - - - //- Destructor - virtual ~constantAspectRatio(); - - - // Member Functions - - //- Aspect ratio - virtual tmp E() const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace aspectRatioModels -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/Ergun/Ergun.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/Ergun/Ergun.C deleted file mode 100644 index 2a7cd8af0f..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/Ergun/Ergun.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 "Ergun.H" -#include "phasePair.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& dict, - const phasePair& pair, - const bool registerObject -) -: - dragModel(dict, pair, registerObject) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::dragModels::Ergun::~Ergun() -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -Foam::tmp Foam::dragModels::Ergun::CdRe() const -{ - return - (4.0/3.0) - *( - 150 - *max - ( - scalar(1) - pair_.continuous(), - pair_.continuous().residualAlpha() - )/max(pair_.continuous(), pair_.continuous().residualAlpha()) - + 1.75 - *pair_.Re() - ); -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/Ergun/Ergun.H b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/Ergun/Ergun.H deleted file mode 100644 index 9123ae2eb9..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/Ergun/Ergun.H +++ /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 . - -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 -{ - -class phasePair; - -namespace dragModels -{ - -/*---------------------------------------------------------------------------*\ - Class Ergun Declaration -\*---------------------------------------------------------------------------*/ - -class Ergun -: - public dragModel -{ -public: - - //- Runtime type information - TypeName("Ergun"); - - - // Constructors - - //- Construct from a dictionary and a phase pair - Ergun - ( - const dictionary& dict, - const phasePair& pair, - const bool registerObject - ); - - - //- Destructor - virtual ~Ergun(); - - - // Member Functions - - //- Drag coefficient - virtual tmp CdRe() const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace dragModels -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/Gibilaro/Gibilaro.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/Gibilaro/Gibilaro.C deleted file mode 100644 index 7851e0c220..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/Gibilaro/Gibilaro.C +++ /dev/null @@ -1,78 +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 "phasePair.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& dict, - const phasePair& pair, - const bool registerObject -) -: - dragModel(dict, pair, registerObject) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::dragModels::Gibilaro::~Gibilaro() -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -Foam::tmp Foam::dragModels::Gibilaro::CdRe() const -{ - volScalarField alpha2 - ( - max(scalar(1) - pair_.dispersed(), pair_.continuous().residualAlpha()) - ); - - return - (4.0/3.0) - *(17.3/alpha2 + 0.336*pair_.Re()) - *max(pair_.continuous(), pair_.continuous().residualAlpha()) - *pow(alpha2, -2.8); -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/Gibilaro/Gibilaro.H b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/Gibilaro/Gibilaro.H deleted file mode 100644 index 51efd45d28..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/Gibilaro/Gibilaro.H +++ /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 . - -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 -{ - -class phasePair; - -namespace dragModels -{ - -/*---------------------------------------------------------------------------*\ - Class Gibilaro Declaration -\*---------------------------------------------------------------------------*/ - -class Gibilaro -: - public dragModel -{ -public: - - //- Runtime type information - TypeName("Gibilaro"); - - - // Constructors - - //- Construct from a dictionary and a phase pair - Gibilaro - ( - const dictionary& dict, - const phasePair& pair, - const bool registerObject - ); - - - //- Destructor - virtual ~Gibilaro(); - - - // Member Functions - - //- Drag coefficient - virtual tmp CdRe() const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace dragModels -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/GidaspowErgunWenYu/GidaspowErgunWenYu.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/GidaspowErgunWenYu/GidaspowErgunWenYu.C deleted file mode 100644 index 60e443d2e2..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/GidaspowErgunWenYu/GidaspowErgunWenYu.C +++ /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 . - -\*---------------------------------------------------------------------------*/ - -#include "GidaspowErgunWenYu.H" -#include "phasePair.H" -#include "Ergun.H" -#include "WenYu.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& dict, - const phasePair& pair, - const bool registerObject -) -: - dragModel(dict, pair, registerObject), - Ergun_ - ( - new Ergun - ( - dict, - pair, - false - ) - ), - WenYu_ - ( - new WenYu - ( - dict, - pair, - false - ) - ) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::dragModels::GidaspowErgunWenYu::~GidaspowErgunWenYu() -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -Foam::tmp -Foam::dragModels::GidaspowErgunWenYu::CdRe() const -{ - return - pos0(pair_.continuous() - 0.8)*WenYu_->CdRe() - + neg(pair_.continuous() - 0.8)*Ergun_->CdRe(); -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/GidaspowErgunWenYu/GidaspowErgunWenYu.H b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/GidaspowErgunWenYu/GidaspowErgunWenYu.H deleted file mode 100644 index fbcea0f733..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/GidaspowErgunWenYu/GidaspowErgunWenYu.H +++ /dev/null @@ -1,114 +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::GidaspowErgunWenYu - -Description - Gidaspow, Ergun, Wen and Yu drag model - - Reference: - \verbatim - "Multiphase flow and fluidization", - Gidaspow, D., - Academic Press, New York, 1994. - \endverbatim - -SourceFiles - GidaspowErgunWenYu.C - -\*---------------------------------------------------------------------------*/ - -#ifndef GidaspowErgunWenYu_H -#define GidaspowErgunWenYu_H - -#include "dragModel.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -class phasePair; - -namespace dragModels -{ - -class Ergun; -class WenYu; - -/*---------------------------------------------------------------------------*\ - Class GidaspowErgunWenYu Declaration -\*---------------------------------------------------------------------------*/ - -class GidaspowErgunWenYu -: - public dragModel -{ - // Private Data - - //- Ergun drag model - autoPtr Ergun_; - - //- Wen Yu drag model - autoPtr WenYu_; - - -public: - - //- Runtime type information - TypeName("GidaspowErgunWenYu"); - - - // Constructors - - //- Construct from a dictionary and an ordered phase pair - GidaspowErgunWenYu - ( - const dictionary& interfaceDict, - const phasePair& pair, - const bool registerObject - ); - - - //- Destructor - virtual ~GidaspowErgunWenYu(); - - - // Member Functions - - //- Drag coefficient - virtual tmp CdRe() const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace dragModels -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/GidaspowSchillerNaumann/GidaspowSchillerNaumann.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/GidaspowSchillerNaumann/GidaspowSchillerNaumann.C deleted file mode 100644 index 79a72e8fcb..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/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 "phasePair.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& dict, - const phasePair& pair, - const bool registerObject -) -: - dragModel(dict, pair, registerObject), - residualRe_("residualRe", dimless, dict) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::dragModels::GidaspowSchillerNaumann::~GidaspowSchillerNaumann() -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -Foam::tmp -Foam::dragModels::GidaspowSchillerNaumann::CdRe() const -{ - volScalarField alpha2 - ( - max(scalar(1) - pair_.dispersed(), pair_.continuous().residualAlpha()) - ); - - volScalarField Re(alpha2*pair_.Re()); - - volScalarField CdsRe - ( - neg(Re - 1000)*24.0*(1.0 + 0.15*pow(Re, 0.687))/alpha2 - + pos0(Re - 1000)*0.44*max(Re, residualRe_) - ); - - return - CdsRe - *pow(alpha2, -2.65) - *max(pair_.continuous(), pair_.continuous().residualAlpha()); -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/GidaspowSchillerNaumann/GidaspowSchillerNaumann.H b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/GidaspowSchillerNaumann/GidaspowSchillerNaumann.H deleted file mode 100644 index cb086b72a3..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/GidaspowSchillerNaumann/GidaspowSchillerNaumann.H +++ /dev/null @@ -1,115 +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::GidaspowSchillerNaumann - -Description - Gidaspow, Schiller and Naumann drag model - - References: - \verbatim - "Eulerian Two-Phase Flow Theory Applied to Fluidization" - Enwald, H., Peirano, E., Almstedt, A-E., - Int. J. Multiphase Flow, Vol. 22, Suppl, 1996, pp. 21-66 - Eq. 86-87, p. 40 - - This is identical to the Wen and Yu, Rowe model Table 3.6 p.56 in - "Derivation, Implementation and Validation of Computer Simulation Models - for Gas-Solid Fluidized Beds", - Berend van Wachem - Ph.D. thesis. - \endverbatim - -SourceFiles - GidaspowSchillerNaumann.C - -\*---------------------------------------------------------------------------*/ - -#ifndef GidaspowSchillerNaumann_H -#define GidaspowSchillerNaumann_H - -#include "dragModel.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -class phasePair; - -namespace dragModels -{ - -/*---------------------------------------------------------------------------*\ - Class GidaspowSchillerNaumann Declaration -\*---------------------------------------------------------------------------*/ - -class GidaspowSchillerNaumann -: - public dragModel -{ - // Private Data - - //- Residual Reynolds Number - const dimensionedScalar residualRe_; - - -public: - - //- Runtime type information - TypeName("GidaspowSchillerNaumann"); - - - // Constructors - - //- Construct from a dictionary and a phase pair - GidaspowSchillerNaumann - ( - const dictionary& dict, - const phasePair& pair, - const bool registerObject - ); - - - //- Destructor - virtual ~GidaspowSchillerNaumann(); - - - // Member Functions - - //- Drag coefficient - virtual tmp CdRe() const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace dragModels -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/IshiiZuber/IshiiZuber.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/IshiiZuber/IshiiZuber.C deleted file mode 100644 index 1045f3667a..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/IshiiZuber/IshiiZuber.C +++ /dev/null @@ -1,100 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2014-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 "IshiiZuber.H" -#include "phasePair.H" -#include "addToRunTimeSelectionTable.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ -namespace dragModels -{ - defineTypeNameAndDebug(IshiiZuber, 0); - addToRunTimeSelectionTable(dragModel, IshiiZuber, dictionary); -} -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::dragModels::IshiiZuber::IshiiZuber -( - const dictionary& dict, - const phasePair& pair, - const bool registerObject -) -: - dragModel(dict, pair, registerObject) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::dragModels::IshiiZuber::~IshiiZuber() -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -Foam::tmp -Foam::dragModels::IshiiZuber::CdRe() const -{ - const volScalarField Re(pair_.Re()); - const volScalarField Eo(pair_.Eo()); - - const volScalarField mud(pair_.dispersed().mu()); - const volScalarField muc(pair_.continuous().mu()); - - const volScalarField muStar((mud + 0.4*muc)/(mud + muc)); - - const volScalarField muMix - ( - muc*pow(max(1 - pair_.dispersed(), scalar(1e-3)), -2.5*muStar) - ); - - const volScalarField ReM(Re*muc/muMix); - const volScalarField CdRe - ( - pos0(1000 - ReM)*24*(scalar(1) + 0.1*pow(ReM, 0.75)) - + neg(1000 - ReM)*0.44*ReM - ); - - volScalarField F((muc/muMix)*sqrt(1 - pair_.dispersed())); - F.max(1e-3); - - const volScalarField Ealpha((1 + 17.67*pow(F, 0.8571428))/(18.67*F)); - - const volScalarField CdReEllipse(Ealpha*0.6666*sqrt(Eo)*Re); - - return - pos0(CdReEllipse - CdRe) - *min(CdReEllipse, Re*sqr(1 - pair_.dispersed())*2.66667) - + neg(CdReEllipse - CdRe)*CdRe; -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/IshiiZuber/IshiiZuber.H b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/IshiiZuber/IshiiZuber.H deleted file mode 100644 index c0c8f99261..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/IshiiZuber/IshiiZuber.H +++ /dev/null @@ -1,104 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2014-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::IshiiZuber - -Description - Ishii and Zuber (1979) drag model for dense dispersed bubbly flows. - - Reference: - \verbatim - "Drag Coefficient and relative velocity in bubbly, droplet and - particulate flows", - Ishii, M., Zuber, N., - AIChE Journal 5, Vol. 25, 1979, pp. 843-855. - \endverbatim - -SourceFiles - IshiiZuber.C - -\*---------------------------------------------------------------------------*/ - -#ifndef IshiiZuber_H -#define IshiiZuber_H - -#include "dragModel.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -class phasePair; - -namespace dragModels -{ - -/*---------------------------------------------------------------------------*\ - Class IshiiZuber Declaration -\*---------------------------------------------------------------------------*/ - -class IshiiZuber -: - public dragModel -{ - -public: - - //- Runtime type information - TypeName("IshiiZuber"); - - - // Constructors - - //- Construct from a dictionary and a phase pair - IshiiZuber - ( - const dictionary& dict, - const phasePair& pair, - const bool registerObject - ); - - - //- Destructor - virtual ~IshiiZuber(); - - - // Member Functions - - //- Drag coefficient - virtual tmp CdRe() const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace dragModels -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/Lain/Lain.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/Lain/Lain.C deleted file mode 100644 index 73781c35f7..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/Lain/Lain.C +++ /dev/null @@ -1,75 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2014-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 "Lain.H" -#include "phasePair.H" -#include "addToRunTimeSelectionTable.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ -namespace dragModels -{ - defineTypeNameAndDebug(Lain, 0); - addToRunTimeSelectionTable(dragModel, Lain, dictionary); -} -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::dragModels::Lain::Lain -( - const dictionary& dict, - const phasePair& pair, - const bool registerObject -) -: - dragModel(dict, pair, registerObject) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::dragModels::Lain::~Lain() -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -Foam::tmp Foam::dragModels::Lain::CdRe() const -{ - volScalarField Re(pair_.Re()); - - return - neg(Re - 1.5)*16.0 - + pos0(Re - 1.5)*neg(Re - 80.0)*14.9*pow(Re, 0.22) - + pos0(Re - 80.0)*neg(Re - 1500.0)*48*(1.0 - 2.21/sqrt(max(Re, small))) - + pos0(Re - 1500.0)*2.61*Re; -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/Lain/Lain.H b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/Lain/Lain.H deleted file mode 100644 index 13cddcae82..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/Lain/Lain.H +++ /dev/null @@ -1,111 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2014-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::Lain - -Description - Drag model of Lain et al. - - References: - \verbatim - "Implementation and Comparison of Correlations for interfacial Forces - in a Gas-Liquid System within an Euler-Euler Framework" - Otromke, M., - PhD Thesis, April 2013 - \endverbatim - - \verbatim - "Modelling hydrodynamics and turbulence in a bubble column using the - Euler-Lagrange procedure" - Lain, S., Brodera, D., Sommerfelda, M., Goza, M.F., - International Journal of Multiphase Flow - Volume 28, Issue 8, August 2002, pp. 1381-1407 - \endverbatim - -SourceFiles - Lain.C - -\*---------------------------------------------------------------------------*/ - -#ifndef Lain_H -#define Lain_H - -#include "dragModel.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -class phasePair; - -namespace dragModels -{ - -/*---------------------------------------------------------------------------*\ - Class Lain Declaration -\*---------------------------------------------------------------------------*/ - -class Lain -: - public dragModel -{ -public: - - //- Runtime type information - TypeName("Lain"); - - - // Constructors - - //- Construct from a dictionary and a phase pair - Lain - ( - const dictionary& dict, - const phasePair& pair, - const bool registerObject - ); - - - //- Destructor - virtual ~Lain(); - - - // Member Functions - - //- Drag coefficient - virtual tmp CdRe() const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace dragModels -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/SchillerNaumann/SchillerNaumann.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/SchillerNaumann/SchillerNaumann.C deleted file mode 100644 index 869b249989..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/SchillerNaumann/SchillerNaumann.C +++ /dev/null @@ -1,74 +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 "phasePair.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& dict, - const phasePair& pair, - const bool registerObject -) -: - dragModel(dict, pair, registerObject), - residualRe_("residualRe", dimless, dict) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::dragModels::SchillerNaumann::~SchillerNaumann() -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -Foam::tmp Foam::dragModels::SchillerNaumann::CdRe() const -{ - volScalarField Re(pair_.Re()); - - return - neg(Re - 1000)*24.0*(1.0 + 0.15*pow(Re, 0.687)) - + pos0(Re - 1000)*0.44*max(Re, residualRe_); -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/SchillerNaumann/SchillerNaumann.H b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/SchillerNaumann/SchillerNaumann.H deleted file mode 100644 index 7f240d1ff8..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/SchillerNaumann/SchillerNaumann.H +++ /dev/null @@ -1,101 +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::SchillerNaumann - -Description - Schiller and Naumann drag model for dispersed bubbly flows. - -SourceFiles - SchillerNaumann.C - -\*---------------------------------------------------------------------------*/ - -#ifndef SchillerNaumann_H -#define SchillerNaumann_H - -#include "dragModel.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -class phasePair; - -namespace dragModels -{ - -/*---------------------------------------------------------------------------*\ - Class SchillerNaumann Declaration -\*---------------------------------------------------------------------------*/ - -class SchillerNaumann -: - public dragModel -{ - // Private Data - - //- Residual Reynolds Number - const dimensionedScalar residualRe_; - - -public: - - //- Runtime type information - TypeName("SchillerNaumann"); - - - // Constructors - - //- Construct from a dictionary and a phase pair - SchillerNaumann - ( - const dictionary& dict, - const phasePair& pair, - const bool registerObject - ); - - - //- Destructor - virtual ~SchillerNaumann(); - - - // Member Functions - - //- Drag coefficient - virtual tmp CdRe() const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace dragModels -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/SyamlalOBrien/SyamlalOBrien.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/SyamlalOBrien/SyamlalOBrien.C deleted file mode 100644 index c458812c4e..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/SyamlalOBrien/SyamlalOBrien.C +++ /dev/null @@ -1,93 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2011-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 "phasePair.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& dict, - const phasePair& pair, - const bool registerObject -) -: - dragModel(dict, pair, registerObject) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::dragModels::SyamlalOBrien::~SyamlalOBrien() -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -Foam::tmp Foam::dragModels::SyamlalOBrien::CdRe() const -{ - volScalarField alpha2 - ( - max(scalar(1) - pair_.dispersed(), pair_.continuous().residualAlpha()) - ); - - 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(pair_.Re()); - volScalarField Vr - ( - 0.5 - *( - A - 0.06*Re + sqrt(sqr(0.06*Re) + 0.12*Re*(2.0*B - A) + sqr(A)) - ) - ); - volScalarField CdsRe(sqr(0.63*sqrt(Re) + 4.8*sqrt(Vr))); - - return - CdsRe - *max(pair_.continuous(), pair_.continuous().residualAlpha()) - /sqr(Vr); -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/SyamlalOBrien/SyamlalOBrien.H b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/SyamlalOBrien/SyamlalOBrien.H deleted file mode 100644 index 6358941e51..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/SyamlalOBrien/SyamlalOBrien.H +++ /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 . - -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 -{ - -class phasePair; - -namespace dragModels -{ - -/*---------------------------------------------------------------------------*\ - Class SyamlalOBrien Declaration -\*---------------------------------------------------------------------------*/ - -class SyamlalOBrien -: - public dragModel -{ -public: - - //- Runtime type information - TypeName("SyamlalOBrien"); - - - // Constructors - - //- Construct from a dictionary and a phase pair - SyamlalOBrien - ( - const dictionary& dict, - const phasePair& pair, - const bool registerObject - ); - - - //- Destructor - virtual ~SyamlalOBrien(); - - - // Member Functions - - //- Drag coefficient - virtual tmp CdRe() const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace dragModels -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/TomiyamaAnalytic/TomiyamaAnalytic.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/TomiyamaAnalytic/TomiyamaAnalytic.C deleted file mode 100644 index 48d9b63eae..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/TomiyamaAnalytic/TomiyamaAnalytic.C +++ /dev/null @@ -1,89 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2014-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 "TomiyamaAnalytic.H" -#include "phasePair.H" -#include "addToRunTimeSelectionTable.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ -namespace dragModels -{ - defineTypeNameAndDebug(TomiyamaAnalytic, 0); - addToRunTimeSelectionTable(dragModel, TomiyamaAnalytic, dictionary); -} -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::dragModels::TomiyamaAnalytic::TomiyamaAnalytic -( - const dictionary& dict, - const phasePair& pair, - const bool registerObject -) -: - dragModel(dict, pair, registerObject), - residualRe_("residualRe", dimless, dict), - residualEo_("residualEo", dimless, dict), - residualE_("residualE", dimless, dict) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::dragModels::TomiyamaAnalytic::~TomiyamaAnalytic() -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -Foam::tmp -Foam::dragModels::TomiyamaAnalytic::CdRe() const -{ - volScalarField Eo(max(pair_.Eo(), residualEo_)); - volScalarField E(max(pair_.E(), residualE_)); - - volScalarField OmEsq(max(scalar(1) - sqr(E), sqr(residualE_))); - volScalarField rtOmEsq(sqrt(OmEsq)); - - volScalarField F(max(asin(rtOmEsq) - E*rtOmEsq, residualE_)/OmEsq); - - return - (8.0/3.0) - *Eo - /( - Eo*pow(E, 2.0/3.0)/OmEsq - + 16*pow(E, 4.0/3.0) - ) - /sqr(F) - *max(pair_.Re(), residualRe_); -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/TomiyamaAnalytic/TomiyamaAnalytic.H b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/TomiyamaAnalytic/TomiyamaAnalytic.H deleted file mode 100644 index c30227cb34..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/TomiyamaAnalytic/TomiyamaAnalytic.H +++ /dev/null @@ -1,116 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2014-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::TomiyamaAnalytic - -Description - Analytical drag model of Tomiyama et al. - - Reference: - \verbatim - "Drag Coefficients of Bubbles. 1st Report. Drag Coefficients of a - Single Bubble in a Stagnant Liquid." - Tomiyama, A., Kataoka, I., and Sakaguchi, T., - Nippon Kikai Gakkai Ronbunshu - Volume 61, Issue 587, 1995, pp. 2357-2364 - \endverbatim - -SourceFiles - TomiyamaAnalytic.C - -\*---------------------------------------------------------------------------*/ - -#ifndef TomiyamaAnalytic_H -#define TomiyamaAnalytic_H - -#include "dragModel.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -class phasePair; - -namespace dragModels -{ - -/*---------------------------------------------------------------------------*\ - Class TomiyamaAnalytic Declaration -\*---------------------------------------------------------------------------*/ - -class TomiyamaAnalytic -: - public dragModel -{ - // Private Data - - //- Residual Reynolds Number - const dimensionedScalar residualRe_; - - //- Residual Eotvos number - const dimensionedScalar residualEo_; - - //- Residual aspect ratio - const dimensionedScalar residualE_; - - -public: - - //- Runtime type information - TypeName("TomiyamaAnalytic"); - - - // Constructors - - //- Construct from a dictionary and a phase pair - TomiyamaAnalytic - ( - const dictionary& dict, - const phasePair& pair, - const bool registerObject - ); - - - //- Destructor - virtual ~TomiyamaAnalytic(); - - - // Member Functions - - // Drag coefficient - virtual tmp CdRe() const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace dragModels -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/TomiyamaCorrelated/TomiyamaCorrelated.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/TomiyamaCorrelated/TomiyamaCorrelated.C deleted file mode 100644 index da4dca3f77..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/TomiyamaCorrelated/TomiyamaCorrelated.C +++ /dev/null @@ -1,85 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2014-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 "TomiyamaCorrelated.H" -#include "phasePair.H" -#include "addToRunTimeSelectionTable.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ -namespace dragModels -{ - defineTypeNameAndDebug(TomiyamaCorrelated, 0); - addToRunTimeSelectionTable(dragModel, TomiyamaCorrelated, dictionary); -} -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::dragModels::TomiyamaCorrelated::TomiyamaCorrelated -( - const dictionary& dict, - const phasePair& pair, - const bool registerObject -) -: - dragModel(dict, pair, registerObject), - A_("A", dimless, dict) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::dragModels::TomiyamaCorrelated::~TomiyamaCorrelated() -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -Foam::tmp -Foam::dragModels::TomiyamaCorrelated::CdRe() const -{ - volScalarField Re(pair_.Re()); - volScalarField Eo(pair_.Eo()); - - return - max - ( - A_ - *min - ( - (1 + 0.15*pow(Re, 0.687)), - scalar(3) - ), - 8*Eo*Re/(3*Eo + 12) - ); - -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/TomiyamaCorrelated/TomiyamaCorrelated.H b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/TomiyamaCorrelated/TomiyamaCorrelated.H deleted file mode 100644 index 637d1cd90f..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/TomiyamaCorrelated/TomiyamaCorrelated.H +++ /dev/null @@ -1,110 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2014-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::TomiyamaCorrelated - -Description - Correlation of Tomiyama et al. - - Reference: - \verbatim - "Terminal velocity of single bubbles in surface tension force dominant - regime" - Tomiyama, T., Celata, G.P., Hosokawa, S., Yoshida, S., - International Journal of Multiphase Flow - Volume 28, Issue 9, September 2002, pp. 1497-1519 - \endverbatim - -SourceFiles - TomiyamaCorrelated.C - -\*---------------------------------------------------------------------------*/ - -#ifndef TomiyamaCorrelated_H -#define TomiyamaCorrelated_H - -#include "dragModel.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -class phasePair; - -namespace dragModels -{ - -/*---------------------------------------------------------------------------*\ - Class TomiyamaCorrelated Declaration -\*---------------------------------------------------------------------------*/ - -class TomiyamaCorrelated -: - public dragModel -{ - // Private Data - - //- Coefficient - const dimensionedScalar A_; - - -public: - - //- Runtime type information - TypeName("TomiyamaCorrelated"); - - - // Constructors - - //- Construct from a dictionary and a phase pair - TomiyamaCorrelated - ( - const dictionary& dict, - const phasePair& pair, - const bool registerObject - ); - - - //- Destructor - virtual ~TomiyamaCorrelated(); - - - // Member Functions - - //- Drag coefficient - virtual tmp CdRe() const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace dragModels -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/WenYu/WenYu.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/WenYu/WenYu.C deleted file mode 100644 index e154339a4d..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/WenYu/WenYu.C +++ /dev/null @@ -1,85 +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 "phasePair.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& dict, - const phasePair& pair, - const bool registerObject -) -: - dragModel(dict, pair, registerObject), - residualRe_("residualRe", dimless, dict) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::dragModels::WenYu::~WenYu() -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -Foam::tmp Foam::dragModels::WenYu::CdRe() const -{ - volScalarField alpha2 - ( - max(scalar(1) - pair_.dispersed(), pair_.continuous().residualAlpha()) - ); - - volScalarField Res(alpha2*pair_.Re()); - volScalarField CdsRes - ( - neg(Res - 1000)*24.0*(1.0 + 0.15*pow(Res, 0.687)) - + pos0(Res - 1000)*0.44*max(Res, residualRe_) - ); - - return - CdsRes - *pow(alpha2, -3.65) - *max(pair_.continuous(), pair_.continuous().residualAlpha()); -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/WenYu/WenYu.H b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/WenYu/WenYu.H deleted file mode 100644 index cd20d7603e..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/WenYu/WenYu.H +++ /dev/null @@ -1,109 +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::WenYu - -Description - Wen and Yu drag model - - Reference: - \verbatim - "Eulerian Two-Phase Flow Theory Applied to Fluidization" - Enwald, H., Peirano, E., Almstedt, A-E., - Int. J. Multiphase Flow, Vol. 22, Suppl, 1996, pp. 21-66 - Eq. 86-87, p. 40 - \endverbatim - -SourceFiles - WenYu.C - -\*---------------------------------------------------------------------------*/ - -#ifndef WenYu_H -#define WenYu_H - -#include "dragModel.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -class phasePair; - -namespace dragModels -{ - -/*---------------------------------------------------------------------------*\ - Class WenYu Declaration -\*---------------------------------------------------------------------------*/ - -class WenYu -: - public dragModel -{ - // Private Data - - //- Residual Reynolds Number - const dimensionedScalar residualRe_; - - -public: - - //- Runtime type information - TypeName("WenYu"); - - - // Constructors - - //- Construct from a dictionary and a phase pair - WenYu - ( - const dictionary& dict, - const phasePair& pair, - const bool registerObject - ); - - - //- Destructor - virtual ~WenYu(); - - - // Member Functions - - //- Drag coefficient - virtual tmp CdRe() const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace dragModels -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/dragModel/dragModel.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/dragModel/dragModel.C deleted file mode 100644 index 07cec596a6..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/dragModel/dragModel.C +++ /dev/null @@ -1,140 +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" -#include "phasePair.H" -#include "swarmCorrection.H" -#include "surfaceInterpolate.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ - defineTypeNameAndDebug(dragModel, 0); - defineRunTimeSelectionTable(dragModel, dictionary); -} - -const Foam::dimensionSet Foam::dragModel::dimK(1, -3, -1, 0, 0); - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::dragModel::dragModel -( - const phasePair& pair, - const bool registerObject -) -: - regIOobject - ( - IOobject - ( - IOobject::groupName(typeName, pair.name()), - pair.phase1().mesh().time().timeName(), - pair.phase1().mesh(), - IOobject::NO_READ, - IOobject::NO_WRITE, - registerObject - ) - ), - pair_(pair) -{} - - -Foam::dragModel::dragModel -( - const dictionary& dict, - const phasePair& pair, - const bool registerObject -) -: - regIOobject - ( - IOobject - ( - IOobject::groupName(typeName, pair.name()), - pair.phase1().mesh().time().timeName(), - pair.phase1().mesh(), - IOobject::NO_READ, - IOobject::NO_WRITE, - registerObject - ) - ), - pair_(pair), - swarmCorrection_ - ( - swarmCorrection::New - ( - dict.subDict("swarmCorrection"), - pair - ) - ) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::dragModel::~dragModel() -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -Foam::tmp Foam::dragModel::Ki() const -{ - return - 0.75 - *CdRe() - *swarmCorrection_->Cs() - *pair_.continuous().rho() - *pair_.continuous().nu() - /sqr(pair_.dispersed().d()); -} - - -Foam::tmp Foam::dragModel::K() const -{ - return max(pair_.dispersed(), pair_.dispersed().residualAlpha())*Ki(); -} - - -Foam::tmp Foam::dragModel::Kf() const -{ - return - max - ( - fvc::interpolate(pair_.dispersed()), - pair_.dispersed().residualAlpha() - )*fvc::interpolate(Ki()); -} - - -bool Foam::dragModel::writeData(Ostream& os) const -{ - return os.good(); -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/dragModel/dragModel.H b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/dragModel/dragModel.H deleted file mode 100644 index 438d8efbf4..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/dragModel/dragModel.H +++ /dev/null @@ -1,162 +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 "volFields.H" -#include "dictionary.H" -#include "runTimeSelectionTables.H" - -namespace Foam -{ - -class phasePair; -class swarmCorrection; - -/*---------------------------------------------------------------------------*\ - Class dragModel Declaration -\*---------------------------------------------------------------------------*/ - -class dragModel -: - public regIOobject -{ -protected: - - // Protected data - - //- Phase pair - const phasePair& pair_; - - //- Swarm correction - autoPtr swarmCorrection_; - - -public: - - //- Runtime type information - TypeName("dragModel"); - - - // Declare runtime construction - - declareRunTimeSelectionTable - ( - autoPtr, - dragModel, - dictionary, - ( - const dictionary& dict, - const phasePair& pair, - const bool registerObject - ), - (dict, pair, registerObject) - ); - - - // Static Data Members - - //- Coefficient dimensions - static const dimensionSet dimK; - - - // Constructors - - // Construct without residual constants - dragModel - ( - const phasePair& pair, - const bool registerObject - ); - - // Construct with residual constants - dragModel - ( - const dictionary& dict, - const phasePair& pair, - const bool registerObject - ); - - - //- Destructor - virtual ~dragModel(); - - - // Selectors - - static autoPtr New - ( - const dictionary& dict, - const phasePair& pair - ); - - - // Member Functions - - //- Drag coefficient - virtual tmp CdRe() const = 0; - - //- Return the phase-intensive drag coefficient Ki - // used in the momentum equations - // ddt(alpha1*rho1*U1) + ... = ... alphad*K*(U1-U2) - // ddt(alpha2*rho2*U2) + ... = ... alphad*K*(U2-U1) - virtual tmp Ki() const; - - //- Return the drag coefficient K - // used in the momentum equations - // ddt(alpha1*rho1*U1) + ... = ... K*(U1-U2) - // ddt(alpha2*rho2*U2) + ... = ... K*(U2-U1) - virtual tmp K() const; - - //- Return the drag coefficient Kf - // used in the face-momentum equations - virtual tmp Kf() const; - - //- Dummy write for regIOobject - bool writeData(Ostream& os) const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/dragModel/newDragModel.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/dragModel/newDragModel.C deleted file mode 100644 index d429452c2e..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/dragModel/newDragModel.C +++ /dev/null @@ -1,59 +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" -#include "phasePair.H" - -// * * * * * * * * * * * * * * * * Selector * * * * * * * * * * * * * * * * // - -Foam::autoPtr Foam::dragModel::New -( - const dictionary& dict, - const phasePair& pair -) -{ - word dragModelType(dict.lookup("type")); - - Info<< "Selecting dragModel for " - << pair << ": " << 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()(dict, pair, true); -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/segregated/segregated.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/segregated/segregated.C deleted file mode 100644 index 0f93b592f5..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/segregated/segregated.C +++ /dev/null @@ -1,169 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2014-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 "segregated.H" -#include "phasePair.H" -#include "fvcGrad.H" -#include "surfaceInterpolate.H" -#include "zeroGradientFvPatchFields.H" -#include "addToRunTimeSelectionTable.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ -namespace dragModels -{ - defineTypeNameAndDebug(segregated, 0); - addToRunTimeSelectionTable(dragModel, segregated, dictionary); -} -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::dragModels::segregated::segregated -( - const dictionary& dict, - const phasePair& pair, - const bool registerObject -) -: - dragModel(dict, pair, registerObject), - m_("m", dimless, dict), - n_("n", dimless, dict) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::dragModels::segregated::~segregated() -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -Foam::tmp Foam::dragModels::segregated::CdRe() const -{ - FatalErrorInFunction - << "Not implemented." - << "Drag coefficient not defined for the segregated model." - << exit(FatalError); - - return pair_.phase1(); -} - - -Foam::tmp Foam::dragModels::segregated::K() const -{ - const fvMesh& mesh(pair_.phase1().mesh()); - - const volScalarField& alpha1(pair_.phase1()); - const volScalarField& alpha2(pair_.phase2()); - - const volScalarField& rho1(pair_.phase1().rho()); - const volScalarField& rho2(pair_.phase2().rho()); - - tmp tnu1(pair_.phase1().nu()); - tmp tnu2(pair_.phase2().nu()); - - const volScalarField& nu1(tnu1()); - const volScalarField& nu2(tnu2()); - - volScalarField L - ( - IOobject - ( - "L", - mesh.time().timeName(), - mesh - ), - mesh, - dimensionedScalar(dimLength, 0), - zeroGradientFvPatchField::typeName - ); - L.primitiveFieldRef() = cbrt(mesh.V()); - L.correctBoundaryConditions(); - - const volScalarField I - ( - alpha1 - /max - ( - alpha1 + alpha2, - pair_.phase1().residualAlpha() + pair_.phase2().residualAlpha() - ) - ); - - const volScalarField magGradI - ( - max - ( - mag(fvc::grad(I)), - (pair_.phase1().residualAlpha() + pair_.phase2().residualAlpha())/L - ) - ); - - const volScalarField muI - ( - rho1*nu1*rho2*nu2 - /(rho1*nu1 + rho2*nu2) - ); - - const volScalarField limitedAlpha1 - ( - max(alpha1, pair_.phase1().residualAlpha()) - ); - - const volScalarField limitedAlpha2 - ( - max(alpha2, pair_.phase2().residualAlpha()) - ); - - const volScalarField muAlphaI - ( - alpha1*rho1*nu1*alpha2*rho2*nu2 - /(limitedAlpha1*rho1*nu1 + limitedAlpha2*rho2*nu2) - ); - - const volScalarField ReI - ( - pair_.rho()*pair_.magUr() - /(magGradI*limitedAlpha1*limitedAlpha2*muI) - ); - - const volScalarField lambda(m_*ReI + n_*muAlphaI/muI); - - return lambda*sqr(magGradI)*muI; -} - - -Foam::tmp Foam::dragModels::segregated::Kf() const -{ - return fvc::interpolate(K()); -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/segregated/segregated.H b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/segregated/segregated.H deleted file mode 100644 index 3d0d0e9733..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/segregated/segregated.H +++ /dev/null @@ -1,117 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2014-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::segregated - -Description - Segregated drag model for use in regions with no obvious dispersed phase. - - Reference: - \verbatim - "Towards the Numerical Simulation of Multi-scale Two-phase Flows", - Marschall, H., - PhD Thesis, TU München, 2011 - \endverbatim - -SourceFiles - segregated.C - -\*---------------------------------------------------------------------------*/ - -#ifndef segregated_H -#define segregated_H - -#include "dragModel.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -class phasePair; - -namespace dragModels -{ - -/*---------------------------------------------------------------------------*\ - Class segregated Declaration -\*---------------------------------------------------------------------------*/ - -class segregated -: - public dragModel -{ - // Private Data - - //- M coefficient - const dimensionedScalar m_; - - //- N coefficient - const dimensionedScalar n_; - - -public: - - //- Runtime type information - TypeName("segregated"); - - - // Constructors - - //- Construct from components - segregated - ( - const dictionary& dict, - const phasePair& pair, - const bool registerObject - ); - - - //- Destructor - virtual ~segregated(); - - - // Member Functions - - //- Drag coefficient - virtual tmp CdRe() const; - - //- The drag function used in the momentum equation - virtual tmp K() const; - - //- The drag function Kf used in the face-momentum equations - virtual tmp Kf() const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace dragModels -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/heatTransferModels/RanzMarshall/RanzMarshall.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/heatTransferModels/RanzMarshall/RanzMarshall.C deleted file mode 100644 index ca5d1493c9..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/heatTransferModels/RanzMarshall/RanzMarshall.C +++ /dev/null @@ -1,76 +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 "phasePair.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& dict, - const phasePair& pair -) -: - heatTransferModel(dict, pair) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::heatTransferModels::RanzMarshall::~RanzMarshall() -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -Foam::tmp -Foam::heatTransferModels::RanzMarshall::K() const -{ - volScalarField Nu(scalar(2) + 0.6*sqrt(pair_.Re())*cbrt(pair_.Pr())); - - return - 6.0 - *max(pair_.dispersed(), residualAlpha_) - *pair_.continuous().kappa() - *Nu - /sqr(pair_.dispersed().d()); -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/heatTransferModels/RanzMarshall/RanzMarshall.H b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/heatTransferModels/RanzMarshall/RanzMarshall.H deleted file mode 100644 index 967d516f6c..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/heatTransferModels/RanzMarshall/RanzMarshall.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::heatTransferModels::RanzMarshall - -Description - Ranz-Marshall correlation for turbulent heat transfer from the surface of a - sphere to the surrounding fluid. - -SourceFiles - RanzMarshall.C - -\*---------------------------------------------------------------------------*/ - -#ifndef RanzMarshall_H -#define RanzMarshall_H - -#include "heatTransferModel.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -class phasePair; - -namespace heatTransferModels -{ - -/*---------------------------------------------------------------------------*\ - Class RanzMarshall Declaration -\*---------------------------------------------------------------------------*/ - -class RanzMarshall -: - public heatTransferModel -{ -public: - - //- Runtime type information - TypeName("RanzMarshall"); - - - // Constructors - - //- Construct from components - RanzMarshall - ( - const dictionary& dict, - const phasePair& pair - ); - - - //- Destructor - virtual ~RanzMarshall(); - - - // Member Functions - - //- The heat transfer function K used in the enthalpy equation - tmp K() const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace heatTransferModels -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/heatTransferModels/heatTransferModel/heatTransferModel.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/heatTransferModels/heatTransferModel/heatTransferModel.C deleted file mode 100644 index c6ece19dd7..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/heatTransferModels/heatTransferModel/heatTransferModel.C +++ /dev/null @@ -1,68 +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" -#include "phasePair.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ - defineTypeNameAndDebug(heatTransferModel, 0); - defineRunTimeSelectionTable(heatTransferModel, dictionary); -} - -const Foam::dimensionSet Foam::heatTransferModel::dimK(1, -1, -3, -1, 0); - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::heatTransferModel::heatTransferModel -( - const dictionary& dict, - const phasePair& pair -) -: - pair_(pair), - residualAlpha_ - ( - "residualAlpha", - dimless, - dict.lookupOrDefault - ( - "residualAlpha", - pair_.dispersed().residualAlpha().value() - ) - ) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::heatTransferModel::~heatTransferModel() -{} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/heatTransferModels/heatTransferModel/heatTransferModel.H b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/heatTransferModels/heatTransferModel/heatTransferModel.H deleted file mode 100644 index 63ef5c7210..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/heatTransferModels/heatTransferModel/heatTransferModel.H +++ /dev/null @@ -1,132 +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::heatTransferModel - -Description - -SourceFiles - heatTransferModel.C - -\*---------------------------------------------------------------------------*/ - -#ifndef heatTransferModel_H -#define heatTransferModel_H - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#include "volFields.H" -#include "dictionary.H" -#include "runTimeSelectionTables.H" - -namespace Foam -{ - -class phasePair; - -/*---------------------------------------------------------------------------*\ - Class heatTransferModel Declaration -\*---------------------------------------------------------------------------*/ - -class heatTransferModel -{ -protected: - - // Protected data - - //- Phase pair - const phasePair& pair_; - - //- Residual phase fraction - const dimensionedScalar residualAlpha_; - - -public: - - //- Runtime type information - TypeName("heatTransferModel"); - - - // Declare runtime construction - - declareRunTimeSelectionTable - ( - autoPtr, - heatTransferModel, - dictionary, - ( - const dictionary& dict, - const phasePair& pair - ), - (dict, pair) - ); - - - // Static Data Members - - //- Coefficient dimensions - static const dimensionSet dimK; - - - // Constructors - - //- Construct froma dictionary and a phase pair - heatTransferModel - ( - const dictionary& dict, - const phasePair& pair - ); - - - //- Destructor - virtual ~heatTransferModel(); - - - // Selectors - - static autoPtr New - ( - const dictionary& dict, - const phasePair& pair - ); - - - // Member Functions - - //- The heat transfer function K used in the enthalpy equation - // ddt(alpha1*rho1*ha) + ... = ... K*(Ta - Tb) - // ddt(alpha2*rho2*hb) + ... = ... K*(Tb - Ta) - virtual tmp K() const = 0; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/heatTransferModels/heatTransferModel/newHeatTransferModel.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/heatTransferModels/heatTransferModel/newHeatTransferModel.C deleted file mode 100644 index d0ba4cc199..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/heatTransferModels/heatTransferModel/newHeatTransferModel.C +++ /dev/null @@ -1,59 +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" -#include "phasePair.H" - -// * * * * * * * * * * * * * * * * Selector * * * * * * * * * * * * * * * * // - -Foam::autoPtr Foam::heatTransferModel::New -( - const dictionary& dict, - const phasePair& pair -) -{ - word heatTransferModelType(dict.lookup("type")); - - Info<< "Selecting heatTransferModel for " - << pair << ": " << 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()(dict, pair); -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/heatTransferModels/sphericalHeatTransfer/sphericalHeatTransfer.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/heatTransferModels/sphericalHeatTransfer/sphericalHeatTransfer.C deleted file mode 100644 index ee095abff8..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/heatTransferModels/sphericalHeatTransfer/sphericalHeatTransfer.C +++ /dev/null @@ -1,78 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2015-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 "sphericalHeatTransfer.H" -#include "phasePair.H" -#include "addToRunTimeSelectionTable.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ -namespace heatTransferModels -{ - defineTypeNameAndDebug(sphericalHeatTransfer, 0); - addToRunTimeSelectionTable - ( - heatTransferModel, - sphericalHeatTransfer, - dictionary - ); -} -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::heatTransferModels::sphericalHeatTransfer::sphericalHeatTransfer -( - const dictionary& dict, - const phasePair& pair -) -: - heatTransferModel(dict, pair) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::heatTransferModels::sphericalHeatTransfer::~sphericalHeatTransfer() -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -Foam::tmp -Foam::heatTransferModels::sphericalHeatTransfer::K() const -{ - return - 60.0 - *max(pair_.dispersed(), residualAlpha_) - *pair_.continuous().kappa() - /sqr(pair_.dispersed().d()); -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/heatTransferModels/sphericalHeatTransfer/sphericalHeatTransfer.H b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/heatTransferModels/sphericalHeatTransfer/sphericalHeatTransfer.H deleted file mode 100644 index 0fc5010571..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/heatTransferModels/sphericalHeatTransfer/sphericalHeatTransfer.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) 2015-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::sphericalHeatTransfer - -Description - Model which applies an analytical solution for heat transfer from the - surface of a sphere to the fluid within the sphere. - -SourceFiles - sphericalHeatTransfer.C - -\*---------------------------------------------------------------------------*/ - -#ifndef sphericalHeatTransfer_H -#define sphericalHeatTransfer_H - -#include "heatTransferModel.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -class phasePair; - -namespace heatTransferModels -{ - -/*---------------------------------------------------------------------------*\ - Class sphericalHeatTransfer Declaration -\*---------------------------------------------------------------------------*/ - -class sphericalHeatTransfer -: - public heatTransferModel -{ -public: - - //- Runtime type information - TypeName("spherical"); - - - // Constructors - - //- Construct from components - sphericalHeatTransfer - ( - const dictionary& dict, - const phasePair& pair - ); - - - //- Destructor - virtual ~sphericalHeatTransfer(); - - - // Member Functions - - //- The heat transfer function K used in the enthalpy equation - tmp K() const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace heatTransferModels -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/liftModels/LegendreMagnaudet/LegendreMagnaudet.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/liftModels/LegendreMagnaudet/LegendreMagnaudet.C deleted file mode 100644 index 9873d25102..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/liftModels/LegendreMagnaudet/LegendreMagnaudet.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) 2014-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 "LegendreMagnaudet.H" -#include "phasePair.H" -#include "fvcGrad.H" -#include "addToRunTimeSelectionTable.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ -namespace liftModels -{ - defineTypeNameAndDebug(LegendreMagnaudet, 0); - addToRunTimeSelectionTable(liftModel, LegendreMagnaudet, dictionary); -} -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::liftModels::LegendreMagnaudet::LegendreMagnaudet -( - const dictionary& dict, - const phasePair& pair -) -: - liftModel(dict, pair), - residualRe_("residualRe", dimless, dict) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::liftModels::LegendreMagnaudet::~LegendreMagnaudet() -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -Foam::tmp Foam::liftModels::LegendreMagnaudet::Cl() const -{ - volScalarField Re(max(pair_.Re(), residualRe_)); - - volScalarField Sr - ( - sqr(pair_.dispersed().d()) - /( - Re - *pair_.continuous().nu() - ) - *mag(fvc::grad(pair_.continuous().U())) - ); - - volScalarField ClLowSqr - ( - sqr(6.0*2.255) - *sqr(Sr) - /( - pow4(constant::mathematical::pi) - *Re - *pow3(Sr + 0.2*Re) - ) - ); - - volScalarField ClHighSqr - ( - sqr(0.5*(Re + 16.0)/(Re + 29.0)) - ); - - return sqrt(ClLowSqr + ClHighSqr); -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/liftModels/LegendreMagnaudet/LegendreMagnaudet.H b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/liftModels/LegendreMagnaudet/LegendreMagnaudet.H deleted file mode 100644 index 188cdb7959..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/liftModels/LegendreMagnaudet/LegendreMagnaudet.H +++ /dev/null @@ -1,116 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2014-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::liftModels::LegendreMagnaudet - -Description - Lift model of Legendre and Magnaudet. - - References: - \verbatim - "Implementation and Comparison of Correlations for interfacial Forces - in a Gas-Liquid System within an Euler-Euler Framework" - Otromke, M. - PhD Thesis - April 2013 - \endverbatim - - \verbatim - "The lift force on a spherical bubble in a viscous linear shear flow" - Legendre, D., Magnaudet, J., - Journal of Fluid Mechanics - Volume 368, August 1998, pp. 81-126 - \endverbatim - -SourceFiles - LegendreMagnaudet.C - -\*---------------------------------------------------------------------------*/ - -#ifndef LegendreMagnaudet_H -#define LegendreMagnaudet_H - -#include "liftModel.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -class phasePair; - -namespace liftModels -{ - -/*---------------------------------------------------------------------------*\ - Class LegendreMagnaudet Declaration -\*---------------------------------------------------------------------------*/ - -class LegendreMagnaudet -: - public liftModel -{ - // Private Data - - //- Residual Reynold's number - const dimensionedScalar residualRe_; - - -public: - - //- Runtime type information - TypeName("LegendreMagnaudet"); - - - // Constructors - - //- Construct from a dictionary and a phase pair - LegendreMagnaudet - ( - const dictionary& dict, - const phasePair& pair - ); - - - //- Destructor - virtual ~LegendreMagnaudet(); - - - // Member Functions - - //- Lift coefficient - virtual tmp Cl() const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace liftModels -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/liftModels/Moraga/Moraga.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/liftModels/Moraga/Moraga.C deleted file mode 100644 index 23866e4104..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/liftModels/Moraga/Moraga.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) 2014-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 "Moraga.H" -#include "phasePair.H" -#include "fvcGrad.H" -#include "addToRunTimeSelectionTable.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ -namespace liftModels -{ - defineTypeNameAndDebug(Moraga, 0); - addToRunTimeSelectionTable(liftModel, Moraga, dictionary); -} -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::liftModels::Moraga::Moraga -( - const dictionary& dict, - const phasePair& pair -) -: - liftModel(dict, pair) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::liftModels::Moraga::~Moraga() -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -Foam::tmp Foam::liftModels::Moraga::Cl() const -{ - volScalarField Re(pair_.Re()); - - volScalarField sqrSr - ( - sqr(pair_.dispersed().d()) - /pair_.continuous().nu() - *mag(fvc::grad(pair_.continuous().U())) - ); - - if - ( - min(Re).value() < 1200.0 - || max(Re).value() > 18800.0 - || min(sqrSr).value() < 0.0016 - || max(sqrSr).value() > 0.04 - ) - { - WarningInFunction - << "Re and/or Sr are out of the range of applicability of the " - << "Moraga model. Clamping to range bounds" - << endl; - } - - Re.min(1200.0); - Re.max(18800.0); - - sqrSr.min(0.0016); - sqrSr.max(0.04); - - return 0.2*exp(- Re*sqrSr/3.6e5 - 0.12)*exp(Re*sqrSr/3.0e7); -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/liftModels/Moraga/Moraga.H b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/liftModels/Moraga/Moraga.H deleted file mode 100644 index 2c772b2fbb..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/liftModels/Moraga/Moraga.H +++ /dev/null @@ -1,109 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2014-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::liftModels::Moraga - -Description - Lift model of Moraga et al. - - References: - \verbatim - "Implementation and Comparison of Correlations for interfacial Forces - in a Gas-Liquid System within an Euler-Euler Framework" - Otromke, M., - PhD Thesis, April 2013 - \endverbatim - - \verbatim - "Lateral forces on spheres in turbulent uniform shear flow" - Moraga, F.J., Bonetto, F.J., Lahey, R.T., - International Journal of Multiphase Flow - Volume 25, Issues 6-7, September 1999, pp. 1321-1372 - \endverbatim - -SourceFiles - Moraga.C - -\*---------------------------------------------------------------------------*/ - -#ifndef Moraga_H -#define Moraga_H - -#include "liftModel.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -class phasePair; - -namespace liftModels -{ - -/*---------------------------------------------------------------------------*\ - Class Moraga Declaration -\*---------------------------------------------------------------------------*/ - -class Moraga -: - public liftModel -{ -public: - - //- Runtime type information - TypeName("Moraga"); - - - // Constructors - - //- Construct from a dictionary and a phase pair - Moraga - ( - const dictionary& dict, - const phasePair& pair - ); - - - //- Destructor - virtual ~Moraga(); - - - // Member Functions - - //- Lift coefficient - virtual tmp Cl() const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace liftModels -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/liftModels/TomiyamaLift/TomiyamaLift.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/liftModels/TomiyamaLift/TomiyamaLift.C deleted file mode 100644 index ec7532fde4..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/liftModels/TomiyamaLift/TomiyamaLift.C +++ /dev/null @@ -1,78 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2014-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 "TomiyamaLift.H" -#include "phasePair.H" -#include "addToRunTimeSelectionTable.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ -namespace liftModels -{ - defineTypeNameAndDebug(TomiyamaLift, 0); - addToRunTimeSelectionTable(liftModel, TomiyamaLift, dictionary); -} -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::liftModels::TomiyamaLift::TomiyamaLift -( - const dictionary& dict, - const phasePair& pair -) -: - liftModel(dict, pair) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::liftModels::TomiyamaLift::~TomiyamaLift() -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -Foam::tmp Foam::liftModels::TomiyamaLift::Cl() const -{ - volScalarField EoH(pair_.EoH2()); - - volScalarField f - ( - 0.0010422*pow3(EoH) - 0.0159*sqr(EoH) - 0.0204*EoH + 0.474 - ); - - return - neg(EoH - scalar(4))*min(0.288*tanh(0.121*pair_.Re()), f) - + pos0(EoH - scalar(4))*neg(EoH - scalar(10.7))*f - + pos0(EoH - scalar(10.7))*(-0.288); -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/liftModels/TomiyamaLift/TomiyamaLift.H b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/liftModels/TomiyamaLift/TomiyamaLift.H deleted file mode 100644 index 6169af559b..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/liftModels/TomiyamaLift/TomiyamaLift.H +++ /dev/null @@ -1,106 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2014-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::liftModels::TomiyamaLift - -Description - Lift model of Tomiyama et al. - - Reference: - \verbatim - "Transverse migration of single bubbles in simple shear flows" - Tomiyama, A., Tamai, H., Zun, I., Hosokawa, S., - Chemical Engineering Science - Volume 57, Issue 11, June 2002, pp. 1849-1858 - \endverbatim - - The coefficient for pow3(EoH) proposed by Tomiyama (2002) has been modified - to make the model continuous at EoH = 10.7 while maintaining the - lift coefficient proposed by Tomiyama (2002) when EoH >= 10.7. - -SourceFiles - TomiyamaLift.C - -\*---------------------------------------------------------------------------*/ - -#ifndef TomiyamaLift_H -#define TomiyamaLift_H - -#include "liftModel.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -class phasePair; - -namespace liftModels -{ - -/*---------------------------------------------------------------------------*\ - Class TomiyamaLift Declaration -\*---------------------------------------------------------------------------*/ - -class TomiyamaLift -: - public liftModel -{ -public: - - //- Runtime type information - TypeName("Tomiyama"); - - - // Constructors - - //- Construct from a dictionary and a phase pair - TomiyamaLift - ( - const dictionary& dict, - const phasePair& pair - ); - - - //- Destructor - virtual ~TomiyamaLift(); - - - // Member Functions - - //- Lift coefficient - virtual tmp Cl() const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace liftModels -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/liftModels/constantLiftCoefficient/constantLiftCoefficient.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/liftModels/constantLiftCoefficient/constantLiftCoefficient.C deleted file mode 100644 index 68bea6dfa9..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/liftModels/constantLiftCoefficient/constantLiftCoefficient.C +++ /dev/null @@ -1,77 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2014-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 "constantLiftCoefficient.H" -#include "phasePair.H" -#include "addToRunTimeSelectionTable.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ -namespace liftModels -{ - defineTypeNameAndDebug(constantLiftCoefficient, 0); - addToRunTimeSelectionTable(liftModel, constantLiftCoefficient, dictionary); -} -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::liftModels::constantLiftCoefficient::constantLiftCoefficient -( - const dictionary& dict, - const phasePair& pair -) -: - liftModel(dict, pair), - Cl_("Cl", dimless, dict) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::liftModels::constantLiftCoefficient::~constantLiftCoefficient() -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -Foam::tmp -Foam::liftModels::constantLiftCoefficient::Cl() const -{ - const fvMesh& mesh(this->pair_.phase1().mesh()); - - return volScalarField::New - ( - "zero", - mesh, - Cl_ - ); -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/liftModels/constantLiftCoefficient/constantLiftCoefficient.H b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/liftModels/constantLiftCoefficient/constantLiftCoefficient.H deleted file mode 100644 index e43cd54344..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/liftModels/constantLiftCoefficient/constantLiftCoefficient.H +++ /dev/null @@ -1,100 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2014-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::liftModels::constantLiftCoefficient - -Description - Constant coefficient lift model. - -SourceFiles - constantLiftCoefficient.C - -\*---------------------------------------------------------------------------*/ - -#ifndef constantLiftCoefficient_H -#define constantLiftCoefficient_H - -#include "liftModel.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -class phasePair; - -namespace liftModels -{ - -/*---------------------------------------------------------------------------*\ - Class constantLiftCoefficient Declaration -\*---------------------------------------------------------------------------*/ - -class constantLiftCoefficient -: - public liftModel -{ - // Private Data - - //- Constant lift coefficient - const dimensionedScalar Cl_; - - -public: - - //- Runtime type information - TypeName("constantCoefficient"); - - - // Constructors - - //- Construct from a dictionary and a phase pair - constantLiftCoefficient - ( - const dictionary& dict, - const phasePair& pair - ); - - - //- Destructor - virtual ~constantLiftCoefficient(); - - - // Member Functions - - //- Lift coefficient - virtual tmp Cl() const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace liftModels -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/liftModels/liftModel/liftModel.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/liftModels/liftModel/liftModel.C deleted file mode 100644 index 9beba5f42e..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/liftModels/liftModel/liftModel.C +++ /dev/null @@ -1,86 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2014-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 "liftModel.H" -#include "phasePair.H" -#include "fvcCurl.H" -#include "fvcFlux.H" -#include "surfaceInterpolate.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ - defineTypeNameAndDebug(liftModel, 0); - defineRunTimeSelectionTable(liftModel, dictionary); -} - -const Foam::dimensionSet Foam::liftModel::dimF(1, -2, -2, 0, 0); - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::liftModel::liftModel -( - const dictionary& dict, - const phasePair& pair -) -: - pair_(pair) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::liftModel::~liftModel() -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -Foam::tmp Foam::liftModel::Fi() const -{ - return - Cl() - *pair_.continuous().rho() - *( - pair_.Ur() ^ fvc::curl(pair_.continuous().U()) - ); -} - - -Foam::tmp Foam::liftModel::F() const -{ - return pair_.dispersed()*Fi(); -} - - -Foam::tmp Foam::liftModel::Ff() const -{ - return fvc::interpolate(pair_.dispersed())*fvc::flux(Fi()); -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/liftModels/liftModel/liftModel.H b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/liftModels/liftModel/liftModel.H deleted file mode 100644 index 93e2c0b2f0..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/liftModels/liftModel/liftModel.H +++ /dev/null @@ -1,137 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2014-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::liftModel - -Description - -SourceFiles - liftModel.C - newLiftModel.C - -\*---------------------------------------------------------------------------*/ - -#ifndef liftModel_H -#define liftModel_H - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#include "volFields.H" -#include "dictionary.H" -#include "runTimeSelectionTables.H" - -namespace Foam -{ - -class phasePair; - -/*---------------------------------------------------------------------------*\ - Class liftModel Declaration -\*---------------------------------------------------------------------------*/ - -class liftModel -{ -protected: - - // Protected data - - //- Phase pair - const phasePair& pair_; - - -public: - - //- Runtime type information - TypeName("liftModel"); - - - // Declare runtime construction - - declareRunTimeSelectionTable - ( - autoPtr, - liftModel, - dictionary, - ( - const dictionary& dict, - const phasePair& pair - ), - (dict, pair) - ); - - - // Static Data Members - - //- Force dimensions - static const dimensionSet dimF; - - - // Constructors - - //- Construct from a dictionary and a phase pair - liftModel - ( - const dictionary& dict, - const phasePair& pair - ); - - - //- Destructor - virtual ~liftModel(); - - - // Selectors - - static autoPtr New - ( - const dictionary& dict, - const phasePair& pair - ); - - - // Member Functions - - //- Return lift coefficient - virtual tmp Cl() const = 0; - - //- Return phase-intensive lift force - virtual tmp Fi() const; - - //- Return lift force - virtual tmp F() const; - - //- Return face lift force - virtual tmp Ff() const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/liftModels/liftModel/newLiftModel.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/liftModels/liftModel/newLiftModel.C deleted file mode 100644 index 411e2e4343..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/liftModels/liftModel/newLiftModel.C +++ /dev/null @@ -1,59 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2014-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 "liftModel.H" -#include "phasePair.H" - -// * * * * * * * * * * * * * * * * Selector * * * * * * * * * * * * * * * * // - -Foam::autoPtr Foam::liftModel::New -( - const dictionary& dict, - const phasePair& pair -) -{ - word liftModelType(dict.lookup("type")); - - Info<< "Selecting liftModel for " - << pair << ": " << liftModelType << endl; - - dictionaryConstructorTable::iterator cstrIter = - dictionaryConstructorTablePtr_->find(liftModelType); - - if (cstrIter == dictionaryConstructorTablePtr_->end()) - { - FatalErrorInFunction - << "Unknown liftModelType type " - << liftModelType << endl << endl - << "Valid liftModel types are : " << endl - << dictionaryConstructorTablePtr_->sortedToc() - << exit(FatalError); - } - - return cstrIter()(dict, pair); -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/liftModels/noLift/noLift.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/liftModels/noLift/noLift.C deleted file mode 100644 index 3c56a50f7e..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/liftModels/noLift/noLift.C +++ /dev/null @@ -1,104 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2014-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 "noLift.H" -#include "phasePair.H" -#include "addToRunTimeSelectionTable.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ -namespace liftModels -{ - defineTypeNameAndDebug(noLift, 0); - addToRunTimeSelectionTable(liftModel, noLift, dictionary); -} -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::liftModels::noLift::noLift -( - const dictionary& dict, - const phasePair& pair -) -: - liftModel(dict, pair) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::liftModels::noLift::~noLift() -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -Foam::tmp Foam::liftModels::noLift::Cl() const -{ - const fvMesh& mesh(this->pair_.phase1().mesh()); - - return volScalarField::New - ( - "Cl", - mesh, - dimensionedScalar(dimless, 0) - ); -} - - -Foam::tmp Foam::liftModels::noLift::F() const -{ - const fvMesh& mesh(this->pair_.phase1().mesh()); - - return volVectorField::New - ( - "noLift:F", - mesh, - dimensionedVector(dimF, Zero) - ); -} - - -Foam::tmp Foam::liftModels::noLift::Ff() const -{ - const fvMesh& mesh(this->pair_.phase1().mesh()); - - return tmp - ( - surfaceScalarField::New - ( - "noLift:Ff", - mesh, - dimensionedScalar(dimF*dimArea, 0) - ) - ); -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/liftModels/noLift/noLift.H b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/liftModels/noLift/noLift.H deleted file mode 100644 index f73a214edd..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/liftModels/noLift/noLift.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) 2014-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::liftModels::noLift - -Description - -SourceFiles - noLift.C - -\*---------------------------------------------------------------------------*/ - -#ifndef noLift_H -#define noLift_H - -#include "liftModel.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -class phasePair; - -namespace liftModels -{ - -/*---------------------------------------------------------------------------*\ - Class noLift Declaration -\*---------------------------------------------------------------------------*/ - -class noLift -: - public liftModel -{ -public: - - //- Runtime type information - TypeName("none"); - - - // Constructors - - //- Construct from a dictionary and a phase pair - noLift - ( - const dictionary& dict, - const phasePair& pair - ); - - - //- Destructor - virtual ~noLift(); - - - // Member Functions - - //- Lift coefficient - virtual tmp Cl() const; - - //- Lift force - virtual tmp F() const; - - //- Lift force on faces - virtual tmp Ff() const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace liftModels -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/swarmCorrections/TomiyamaSwarm/TomiyamaSwarm.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/swarmCorrections/TomiyamaSwarm/TomiyamaSwarm.C deleted file mode 100644 index da493d3f5b..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/swarmCorrections/TomiyamaSwarm/TomiyamaSwarm.C +++ /dev/null @@ -1,86 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2014-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 "TomiyamaSwarm.H" -#include "phasePair.H" -#include "addToRunTimeSelectionTable.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ -namespace swarmCorrections -{ - defineTypeNameAndDebug(TomiyamaSwarm, 0); - addToRunTimeSelectionTable - ( - swarmCorrection, - TomiyamaSwarm, - dictionary - ); -} -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::swarmCorrections::TomiyamaSwarm::TomiyamaSwarm -( - const dictionary& dict, - const phasePair& pair -) -: - swarmCorrection(dict, pair), - residualAlpha_ - ( - "residualAlpha", - dimless, - dict.lookupOrDefault - ( - "residualAlpha", - pair_.dispersed().residualAlpha().value() - ) - ), - l_("l", dimless, dict) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::swarmCorrections::TomiyamaSwarm::~TomiyamaSwarm() -{} - - -// * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * // - -Foam::tmp -Foam::swarmCorrections::TomiyamaSwarm::Cs() const -{ - return - pow(max(this->pair_.continuous(), residualAlpha_), scalar(3) - 2*l_); -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/swarmCorrections/TomiyamaSwarm/TomiyamaSwarm.H b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/swarmCorrections/TomiyamaSwarm/TomiyamaSwarm.H deleted file mode 100644 index 7d5b2dd6ea..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/swarmCorrections/TomiyamaSwarm/TomiyamaSwarm.H +++ /dev/null @@ -1,109 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2014-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::swarmCorrections::TomiyamaSwarm - -Description - Swarm correction of Tomiyama et al. - - Reference: - \verbatim - "Drag Coefficients of Bubbles. 2nd Report. Drag Coefficient for a Swarm - of Bubbles and its Applicability to Transient Flow." - Tomiyama, A., Kataoka, I., Fukuda, T., and Sakaguchi, T., - Nippon Kikai Gakkai Ronbunshu - Volume 61, Issue 588, 1995, pp. 2810-2817 - \endverbatim - -SourceFiles - TomiyamaSwarm.C - -\*---------------------------------------------------------------------------*/ - -#ifndef TomiyamaSwarm_H -#define TomiyamaSwarm_H - -#include "swarmCorrection.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ -namespace swarmCorrections -{ - -/*---------------------------------------------------------------------------*\ - Class TomiyamaSwarm Declaration -\*---------------------------------------------------------------------------*/ - -class TomiyamaSwarm -: - public swarmCorrection -{ - // Private Data - - //- Residual phase fraction - const dimensionedScalar residualAlpha_; - - //- Constant exponent - const dimensionedScalar l_; - - -public: - - //- Runtime type information - TypeName("Tomiyama"); - - - // Constructors - - //- Construct from a dictionary and a phase pair - TomiyamaSwarm - ( - const dictionary& dict, - const phasePair& pair - ); - - - //- Destructor - virtual ~TomiyamaSwarm(); - - - // Member Functions - - //- Swarm correction coefficient - virtual tmp Cs() const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace swarmCorrections -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/swarmCorrections/noSwarm/noSwarm.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/swarmCorrections/noSwarm/noSwarm.C deleted file mode 100644 index 6102ca6bb9..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/swarmCorrections/noSwarm/noSwarm.C +++ /dev/null @@ -1,75 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2014-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 "noSwarm.H" -#include "phasePair.H" -#include "addToRunTimeSelectionTable.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ -namespace swarmCorrections -{ - defineTypeNameAndDebug(noSwarm, 0); - addToRunTimeSelectionTable(swarmCorrection, noSwarm, dictionary); -} -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::swarmCorrections::noSwarm::noSwarm -( - const dictionary& dict, - const phasePair& pair -) -: - swarmCorrection(dict, pair) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::swarmCorrections::noSwarm::~noSwarm() -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -Foam::tmp Foam::swarmCorrections::noSwarm::Cs() const -{ - const fvMesh& mesh(this->pair_.phase1().mesh()); - - return volScalarField::New - ( - "one", - mesh, - dimensionedScalar(dimless, 1) - ); -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/swarmCorrections/noSwarm/noSwarm.H b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/swarmCorrections/noSwarm/noSwarm.H deleted file mode 100644 index c1b8699999..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/swarmCorrections/noSwarm/noSwarm.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) 2014-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::swarmCorrections::noSwarm - -Description - -SourceFiles - noSwarm.C - -\*---------------------------------------------------------------------------*/ - -#ifndef noSwarm_H -#define noSwarm_H - -#include "swarmCorrection.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -class phasePair; - -namespace swarmCorrections -{ - -/*---------------------------------------------------------------------------*\ - Class noSwarm Declaration -\*---------------------------------------------------------------------------*/ - -class noSwarm -: - public swarmCorrection -{ -public: - - //- Runtime type information - TypeName("none"); - - - // Constructors - - //- Construct from a dictionary and a phase pair - noSwarm - ( - const dictionary& dict, - const phasePair& pair - ); - - - //- Destructor - virtual ~noSwarm(); - - - // Member Functions - - //- Swarm correction coefficient - tmp Cs() const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace swarmCorrections -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/swarmCorrections/swarmCorrection/newSwarmCorrection.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/swarmCorrections/swarmCorrection/newSwarmCorrection.C deleted file mode 100644 index 2f28ae7f6c..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/swarmCorrections/swarmCorrection/newSwarmCorrection.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) 2014-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 "swarmCorrection.H" -#include "phasePair.H" - -// * * * * * * * * * * * * * * * * Selector * * * * * * * * * * * * * * * * // - -Foam::autoPtr -Foam::swarmCorrection::New -( - const dictionary& dict, - const phasePair& pair -) -{ - word swarmCorrectionType(dict.lookup("type")); - - Info<< "Selecting swarmCorrection for " - << pair << ": " << swarmCorrectionType << endl; - - dictionaryConstructorTable::iterator cstrIter = - dictionaryConstructorTablePtr_->find(swarmCorrectionType); - - if (cstrIter == dictionaryConstructorTablePtr_->end()) - { - FatalErrorInFunction - << "Unknown swarmCorrectionType type " - << swarmCorrectionType << endl << endl - << "Valid swarmCorrection types are : " << endl - << dictionaryConstructorTablePtr_->sortedToc() - << exit(FatalError); - } - - return cstrIter()(dict, pair); -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/swarmCorrections/swarmCorrection/swarmCorrection.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/swarmCorrections/swarmCorrection/swarmCorrection.C deleted file mode 100644 index c388afb0bc..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/swarmCorrections/swarmCorrection/swarmCorrection.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) 2014-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 "swarmCorrection.H" -#include "phasePair.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ - defineTypeNameAndDebug(swarmCorrection, 0); - defineRunTimeSelectionTable(swarmCorrection, dictionary); -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::swarmCorrection::swarmCorrection -( - const dictionary& dict, - const phasePair& pair -) -: - pair_(pair) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::swarmCorrection::~swarmCorrection() -{} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/swarmCorrections/swarmCorrection/swarmCorrection.H b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/swarmCorrections/swarmCorrection/swarmCorrection.H deleted file mode 100644 index 2e6e62f79c..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/swarmCorrections/swarmCorrection/swarmCorrection.H +++ /dev/null @@ -1,121 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2014-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::swarmCorrection - -Description - -SourceFiles - swarmCorrection.C - newSwarmCorrection.C - -\*---------------------------------------------------------------------------*/ - -#ifndef swarmCorrection_H -#define swarmCorrection_H - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#include "volFields.H" -#include "dictionary.H" -#include "runTimeSelectionTables.H" - -namespace Foam -{ - -class phasePair; - -/*---------------------------------------------------------------------------*\ - Class swarmCorrection Declaration -\*---------------------------------------------------------------------------*/ - -class swarmCorrection -{ -protected: - - // Protected data - - //- Phase pair - const phasePair& pair_; - - -public: - - //- Runtime type information - TypeName("swarmCorrection"); - - - // Declare runtime construction - declareRunTimeSelectionTable - ( - autoPtr, - swarmCorrection, - dictionary, - ( - const dictionary& dict, - const phasePair& pair - ), - (dict, pair) - ); - - - // Constructors - - //- Construct from a dictionary and a phase pair - swarmCorrection - ( - const dictionary& dict, - const phasePair& pair - ); - - - //- Destructor - virtual ~swarmCorrection(); - - - // Selectors - - static autoPtr New - ( - const dictionary& dict, - const phasePair& pair - ); - - - // Member Functions - - //- Swarm correction coefficient - virtual tmp Cs() const = 0; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/turbulentDispersionModels/Burns/Burns.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/turbulentDispersionModels/Burns/Burns.C deleted file mode 100644 index f1c17e660d..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/turbulentDispersionModels/Burns/Burns.C +++ /dev/null @@ -1,112 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2014-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 "Burns.H" -#include "phasePair.H" -#include "PhaseCompressibleMomentumTransportModel.H" -#include "addToRunTimeSelectionTable.H" - -#include "dragModel.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ -namespace turbulentDispersionModels -{ - defineTypeNameAndDebug(Burns, 0); - addToRunTimeSelectionTable - ( - turbulentDispersionModel, - Burns, - dictionary - ); -} -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::turbulentDispersionModels::Burns::Burns -( - const dictionary& dict, - const phasePair& pair -) -: - turbulentDispersionModel(dict, pair), - sigma_("sigma", dimless, dict), - residualAlpha_ - ( - "residualAlpha", - dimless, - dict.lookupOrDefault - ( - "residualAlpha", - pair_.dispersed().residualAlpha().value() - ) - ) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::turbulentDispersionModels::Burns::~Burns() -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -Foam::tmp -Foam::turbulentDispersionModels::Burns::D() const -{ - const fvMesh& mesh(pair_.phase1().mesh()); - const dragModel& - drag - ( - mesh.lookupObject - ( - IOobject::groupName(dragModel::typeName, pair_.name()) - ) - ); - - return - 0.75 - *drag.CdRe() - *pair_.continuous().nu() - *pair_.continuous().turbulence().nut() - /( - sigma_ - *sqr(pair_.dispersed().d()) - ) - *pair_.continuous().rho() - *pair_.dispersed() - *( - 1.0/max(pair_.dispersed(), residualAlpha_) - + 1.0/max(pair_.continuous(), residualAlpha_) - ); -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/turbulentDispersionModels/Burns/Burns.H b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/turbulentDispersionModels/Burns/Burns.H deleted file mode 100644 index 4ad2826bc5..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/turbulentDispersionModels/Burns/Burns.H +++ /dev/null @@ -1,121 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2014-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::turbulentDispersionModels::Burns - -Description - Turbulent dispersion model of Burns et al. - - References: - \verbatim - "Implementation and Comparison of Correlations for interfacial Forces - in a Gas-Liquid System within an Euler-Euler Framework" - Otromke, M., - PhD Thesis - April 2013 - \endverbatim - - \verbatim - "The Favre averaged drag model for turbulent dispersion in Eulerian - multi-phase flows" - Burns, A.D., Frank, T., Hamill, I., Shi, J.M., - 5th international conference on multiphase flow - Volume 4, Paper 392, May 2004 - \endverbatim - -SourceFiles - Burns.C - -\*---------------------------------------------------------------------------*/ - -#ifndef Burns_H -#define Burns_H - -#include "turbulentDispersionModel.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -class phasePair; - -namespace turbulentDispersionModels -{ - -/*---------------------------------------------------------------------------*\ - Class Burns Declaration -\*---------------------------------------------------------------------------*/ - -class Burns -: - public turbulentDispersionModel -{ - // Private Data - - //- Schmidt number - const dimensionedScalar sigma_; - - //- Residual phase fraction - const dimensionedScalar residualAlpha_; - - -public: - - //- Runtime type information - TypeName("Burns"); - - - // Constructors - - //- Construct from a dictionary and a phase pair - Burns - ( - const dictionary& dict, - const phasePair& pair - ); - - - //- Destructor - virtual ~Burns(); - - - // Member Functions - - //- Turbulent diffusivity - // multiplying the gradient of the phase-fraction - virtual tmp D() const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace turbulentDispersionModels -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/turbulentDispersionModels/Gosman/Gosman.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/turbulentDispersionModels/Gosman/Gosman.C deleted file mode 100644 index 9d6829c6ef..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/turbulentDispersionModels/Gosman/Gosman.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) 2014-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 "Gosman.H" -#include "phasePair.H" -#include "PhaseCompressibleMomentumTransportModel.H" -#include "addToRunTimeSelectionTable.H" - -#include "dragModel.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ -namespace turbulentDispersionModels -{ - defineTypeNameAndDebug(Gosman, 0); - addToRunTimeSelectionTable - ( - turbulentDispersionModel, - Gosman, - dictionary - ); -} -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::turbulentDispersionModels::Gosman::Gosman -( - const dictionary& dict, - const phasePair& pair -) -: - turbulentDispersionModel(dict, pair), - sigma_("sigma", dimless, dict) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::turbulentDispersionModels::Gosman::~Gosman() -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -Foam::tmp -Foam::turbulentDispersionModels::Gosman::D() const -{ - const fvMesh& mesh(pair_.phase1().mesh()); - const dragModel& - drag - ( - mesh.lookupObject - ( - IOobject::groupName(dragModel::typeName, pair_.name()) - ) - ); - - return - 0.75 - *drag.CdRe() - *pair_.dispersed() - *pair_.continuous().nu() - *pair_.continuous().turbulence().nut() - /( - sigma_ - *sqr(pair_.dispersed().d()) - ) - *pair_.continuous().rho(); -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/turbulentDispersionModels/Gosman/Gosman.H b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/turbulentDispersionModels/Gosman/Gosman.H deleted file mode 100644 index 4fa0af9b2a..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/turbulentDispersionModels/Gosman/Gosman.H +++ /dev/null @@ -1,110 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2014-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::turbulentDispersionModels::Gosman - -Description - Turbulent dispersion model of Gosman et al. - - Reference: - \verbatim - "Multidimensional modeling of turbulent two-phase flows in stirred - vessels" - Gosman, A.D., Lekakou, C., Politis, S., Issa, R.I., and Looney, M.K., - AIChE Journal - Volume 38, Issue 12, 1992, pp. 1946-1956 - \endverbatim - -SourceFiles - Gosman.C - -\*---------------------------------------------------------------------------*/ - -#ifndef Gosman_H -#define Gosman_H - -#include "turbulentDispersionModel.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -class phasePair; - -namespace turbulentDispersionModels -{ - -/*---------------------------------------------------------------------------*\ - Class Gosman Declaration -\*---------------------------------------------------------------------------*/ - -class Gosman -: - public turbulentDispersionModel -{ - // Private Data - - //- Schmidt number - const dimensionedScalar sigma_; - - -public: - - //- Runtime type information - TypeName("Gosman"); - - - // Constructors - - //- Construct from a dictionary and a phase pair - Gosman - ( - const dictionary& dict, - const phasePair& pair - ); - - - //- Destructor - virtual ~Gosman(); - - - // Member Functions - - //- Turbulent diffusivity - // multiplying the gradient of the phase-fraction - virtual tmp D() const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace turbulentDispersionModels -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/turbulentDispersionModels/LopezDeBertodano/LopezDeBertodano.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/turbulentDispersionModels/LopezDeBertodano/LopezDeBertodano.C deleted file mode 100644 index 7e65485c24..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/turbulentDispersionModels/LopezDeBertodano/LopezDeBertodano.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) 2014-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 "LopezDeBertodano.H" -#include "phasePair.H" -#include "PhaseCompressibleMomentumTransportModel.H" -#include "addToRunTimeSelectionTable.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ -namespace turbulentDispersionModels -{ - defineTypeNameAndDebug(LopezDeBertodano, 0); - addToRunTimeSelectionTable - ( - turbulentDispersionModel, - LopezDeBertodano, - dictionary - ); -} -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::turbulentDispersionModels::LopezDeBertodano::LopezDeBertodano -( - const dictionary& dict, - const phasePair& pair -) -: - turbulentDispersionModel(dict, pair), - Ctd_("Ctd", dimless, dict) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::turbulentDispersionModels::LopezDeBertodano::~LopezDeBertodano() -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -Foam::tmp -Foam::turbulentDispersionModels::LopezDeBertodano::D() const -{ - return - Ctd_ - *pair_.continuous().rho() - *pair_.continuous().turbulence().k(); -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/turbulentDispersionModels/LopezDeBertodano/LopezDeBertodano.H b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/turbulentDispersionModels/LopezDeBertodano/LopezDeBertodano.H deleted file mode 100644 index a19276cbe8..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/turbulentDispersionModels/LopezDeBertodano/LopezDeBertodano.H +++ /dev/null @@ -1,116 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2014-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::turbulentDispersionModels::LopezDeBertodano - -Description - Lopez de Bertodano (1992) turbulent dispersion model. - - \verbatim - "Turbulent bubbly two-phase flow in a triangular - duct" - Lopez de Bertodano, M. - Ph.D. Thesis, Rensselaer Polytechnic Institution, New York, USA, 1992. - \endverbatim - - \verbatim - "The Favre averaged drag model for turbulent dispersion in Eulerian - multi-phase flows" - Burns, A.D., Frank, T., Hamill, I., Shi, J.M., - 5th international conference on multiphase flow - Volume 4, Paper 392, May 2004 - \endverbatim - -SourceFiles - LopezDeBertodano.C - -\*---------------------------------------------------------------------------*/ - -#ifndef LopezDeBertodano_H -#define LopezDeBertodano_H - -#include "turbulentDispersionModel.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -class phasePair; - -namespace turbulentDispersionModels -{ - -/*---------------------------------------------------------------------------*\ - Class LopezDeBertodano Declaration -\*---------------------------------------------------------------------------*/ - -class LopezDeBertodano -: - public turbulentDispersionModel -{ - // Private Data - - //- Constant turbulent dispersion coefficient - const dimensionedScalar Ctd_; - - -public: - - //- Runtime type information - TypeName("LopezDeBertodano"); - - - // Constructors - - //- Construct from a dictionary and a phase pair - LopezDeBertodano - ( - const dictionary& dict, - const phasePair& pair - ); - - - //- Destructor - virtual ~LopezDeBertodano(); - - - // Member Functions - - //- Turbulent diffusivity - // multiplying the gradient of the phase-fraction - virtual tmp D() const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace turbulentDispersionModels -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/turbulentDispersionModels/constantTurbulentDispersionCoefficient/constantTurbulentDispersionCoefficient.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/turbulentDispersionModels/constantTurbulentDispersionCoefficient/constantTurbulentDispersionCoefficient.C deleted file mode 100644 index 71abaca323..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/turbulentDispersionModels/constantTurbulentDispersionCoefficient/constantTurbulentDispersionCoefficient.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) 2014-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 "constantTurbulentDispersionCoefficient.H" -#include "phasePair.H" -#include "PhaseCompressibleMomentumTransportModel.H" -#include "addToRunTimeSelectionTable.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ -namespace turbulentDispersionModels -{ - defineTypeNameAndDebug(constantTurbulentDispersionCoefficient, 0); - addToRunTimeSelectionTable - ( - turbulentDispersionModel, - constantTurbulentDispersionCoefficient, - dictionary - ); -} -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::turbulentDispersionModels::constantTurbulentDispersionCoefficient:: -constantTurbulentDispersionCoefficient -( - const dictionary& dict, - const phasePair& pair -) -: - turbulentDispersionModel(dict, pair), - Ctd_("Ctd", dimless, dict) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::turbulentDispersionModels::constantTurbulentDispersionCoefficient:: -~constantTurbulentDispersionCoefficient() -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -Foam::tmp -Foam::turbulentDispersionModels::constantTurbulentDispersionCoefficient:: -D() const -{ - return - Ctd_ - *pair_.dispersed() - *pair_.continuous().rho() - *pair_.continuous().turbulence().k(); -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/turbulentDispersionModels/constantTurbulentDispersionCoefficient/constantTurbulentDispersionCoefficient.H b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/turbulentDispersionModels/constantTurbulentDispersionCoefficient/constantTurbulentDispersionCoefficient.H deleted file mode 100644 index f2fc12fe1d..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/turbulentDispersionModels/constantTurbulentDispersionCoefficient/constantTurbulentDispersionCoefficient.H +++ /dev/null @@ -1,101 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2014-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::turbulentDispersionModels::constantTurbulentDispersionCoefficient - -Description - Constant coefficient turbulent dispersion model. - -SourceFiles - constantTurbulentDispersionCoefficient.C - -\*---------------------------------------------------------------------------*/ - -#ifndef constantTurbulentDispersionCoefficient_H -#define constantTurbulentDispersionCoefficient_H - -#include "turbulentDispersionModel.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -class phasePair; - -namespace turbulentDispersionModels -{ - -/*---------------------------------------------------------------------------*\ - Class constantTurbulentDispersionCoefficient Declaration -\*---------------------------------------------------------------------------*/ - -class constantTurbulentDispersionCoefficient -: - public turbulentDispersionModel -{ - // Private Data - - //- Constant turbulent dispersion coefficient - const dimensionedScalar Ctd_; - - -public: - - //- Runtime type information - TypeName("constantCoefficient"); - - - // Constructors - - //- Construct from a dictionary and a phase pair - constantTurbulentDispersionCoefficient - ( - const dictionary& dict, - const phasePair& pair - ); - - - //- Destructor - virtual ~constantTurbulentDispersionCoefficient(); - - - // Member Functions - - //- Turbulent diffusivity - // multiplying the gradient of the phase-fraction - virtual tmp D() const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace turbulentDispersionModels -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/turbulentDispersionModels/noTurbulentDispersion/noTurbulentDispersion.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/turbulentDispersionModels/noTurbulentDispersion/noTurbulentDispersion.C deleted file mode 100644 index 74438c8061..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/turbulentDispersionModels/noTurbulentDispersion/noTurbulentDispersion.C +++ /dev/null @@ -1,96 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2014-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 "noTurbulentDispersion.H" -#include "phasePair.H" -#include "addToRunTimeSelectionTable.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ -namespace turbulentDispersionModels -{ - defineTypeNameAndDebug(noTurbulentDispersion, 0); - addToRunTimeSelectionTable - ( - turbulentDispersionModel, - noTurbulentDispersion, - dictionary - ); -} -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::turbulentDispersionModels::noTurbulentDispersion::noTurbulentDispersion -( - const dictionary& dict, - const phasePair& pair -) -: - turbulentDispersionModel(dict, pair) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::turbulentDispersionModels::noTurbulentDispersion:: -~noTurbulentDispersion() -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -Foam::tmp -Foam::turbulentDispersionModels::noTurbulentDispersion::D() const -{ - const fvMesh& mesh(this->pair_.phase1().mesh()); - - return volScalarField::New - ( - "zero", - mesh, - dimensionedScalar(dimD, 0) - ); -} - - -Foam::tmp -Foam::turbulentDispersionModels::noTurbulentDispersion::F() const -{ - const fvMesh& mesh(this->pair_.phase1().mesh()); - - return volVectorField::New - ( - "zero", - mesh, - dimensionedVector(dimF, Zero) - ); -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/turbulentDispersionModels/noTurbulentDispersion/noTurbulentDispersion.H b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/turbulentDispersionModels/noTurbulentDispersion/noTurbulentDispersion.H deleted file mode 100644 index f0112ff4e1..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/turbulentDispersionModels/noTurbulentDispersion/noTurbulentDispersion.H +++ /dev/null @@ -1,97 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2014-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::turbulentDispersionModels::noTurbulentDispersion - -Description - -SourceFiles - noTurbulentDispersion.C - -\*---------------------------------------------------------------------------*/ - -#ifndef noTurbulentDispersion_H -#define noTurbulentDispersion_H - -#include "turbulentDispersionModel.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -class phasePair; - -namespace turbulentDispersionModels -{ - -/*---------------------------------------------------------------------------*\ - Class noTurbulentDispersion Declaration -\*---------------------------------------------------------------------------*/ - -class noTurbulentDispersion -: - public turbulentDispersionModel -{ -public: - - //- Runtime type information - TypeName("none"); - - - // Constructors - - //- Construct from a dictionary and a phase pair - noTurbulentDispersion - ( - const dictionary& dict, - const phasePair& pair - ); - - - //- Destructor - virtual ~noTurbulentDispersion(); - - - // Member Functions - - //- Turbulent diffusivity - // multiplying the gradient of the phase-fraction - virtual tmp D() const; - - //- Turbulent dispersion force - virtual tmp F() const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace turbulentDispersionModels -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/turbulentDispersionModels/turbulentDispersionModel/newTurbulentDispersionModel.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/turbulentDispersionModels/turbulentDispersionModel/newTurbulentDispersionModel.C deleted file mode 100644 index 12e3e1c3c9..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/turbulentDispersionModels/turbulentDispersionModel/newTurbulentDispersionModel.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) 2014-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 "turbulentDispersionModel.H" -#include "phasePair.H" - -// * * * * * * * * * * * * * * * * Selector * * * * * * * * * * * * * * * * // - -Foam::autoPtr -Foam::turbulentDispersionModel::New -( - const dictionary& dict, - const phasePair& pair -) -{ - word turbulentDispersionModelType(dict.lookup("type")); - - Info<< "Selecting turbulentDispersionModel for " - << pair << ": " << turbulentDispersionModelType << endl; - - dictionaryConstructorTable::iterator cstrIter = - dictionaryConstructorTablePtr_->find(turbulentDispersionModelType); - - if (cstrIter == dictionaryConstructorTablePtr_->end()) - { - FatalErrorInFunction - << "Unknown turbulentDispersionModelType type " - << turbulentDispersionModelType << endl << endl - << "Valid turbulentDispersionModel types are : " << endl - << dictionaryConstructorTablePtr_->sortedToc() - << exit(FatalError); - } - - return cstrIter()(dict, pair); -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/turbulentDispersionModels/turbulentDispersionModel/turbulentDispersionModel.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/turbulentDispersionModels/turbulentDispersionModel/turbulentDispersionModel.C deleted file mode 100644 index 2ef85084e2..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/turbulentDispersionModels/turbulentDispersionModel/turbulentDispersionModel.C +++ /dev/null @@ -1,69 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2014-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 "turbulentDispersionModel.H" -#include "phasePair.H" -#include "fvcGrad.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ - defineTypeNameAndDebug(turbulentDispersionModel, 0); - defineRunTimeSelectionTable(turbulentDispersionModel, dictionary); -} - -const Foam::dimensionSet Foam::turbulentDispersionModel::dimD(1, -1, -2, 0, 0); -const Foam::dimensionSet Foam::turbulentDispersionModel::dimF(1, -2, -2, 0, 0); - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::turbulentDispersionModel::turbulentDispersionModel -( - const dictionary& dict, - const phasePair& pair -) -: - pair_(pair) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::turbulentDispersionModel::~turbulentDispersionModel() -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -Foam::tmp -Foam::turbulentDispersionModel::F() const -{ - return D()*fvc::grad(pair_.dispersed()); -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/turbulentDispersionModels/turbulentDispersionModel/turbulentDispersionModel.H b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/turbulentDispersionModels/turbulentDispersionModel/turbulentDispersionModel.H deleted file mode 100644 index 5c35876839..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/turbulentDispersionModels/turbulentDispersionModel/turbulentDispersionModel.H +++ /dev/null @@ -1,134 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2014-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::turbulentDispersionModel - -Description - -SourceFiles - turbulentDispersionModel.C - newTurbulentDispersionModel.C - -\*---------------------------------------------------------------------------*/ - -#ifndef turbulentDispersionModel_H -#define turbulentDispersionModel_H - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#include "volFields.H" -#include "dictionary.H" -#include "runTimeSelectionTables.H" - -namespace Foam -{ - -class phasePair; - -/*---------------------------------------------------------------------------*\ - Class turbulentDispersionModel Declaration -\*---------------------------------------------------------------------------*/ - -class turbulentDispersionModel -{ -protected: - - // Protected data - - //- Phase pair - const phasePair& pair_; - - -public: - - //- Runtime type information - TypeName("turbulentDispersionModel"); - - - // Declare runtime construction - - declareRunTimeSelectionTable - ( - autoPtr, - turbulentDispersionModel, - dictionary, - ( - const dictionary& dict, - const phasePair& pair - ), - (dict, pair) - ); - - // Static Data Members - - //- Diffusivity dimensions - static const dimensionSet dimD; - - //- Force dimensions - static const dimensionSet dimF; - - - // Constructors - - //- Construct from a dictionary and a phase pair - turbulentDispersionModel - ( - const dictionary& dict, - const phasePair& pair - ); - - - //- Destructor - virtual ~turbulentDispersionModel(); - - - // Selectors - - static autoPtr New - ( - const dictionary& dict, - const phasePair& pair - ); - - - // Member Functions - - //- Turbulent diffusivity - // multiplying the gradient of the phase-fraction - virtual tmp D() const = 0; - - //- Turbulent dispersion force - virtual tmp F() const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/virtualMassModels/Lamb/Lamb.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/virtualMassModels/Lamb/Lamb.C deleted file mode 100644 index 8ce1f38980..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/virtualMassModels/Lamb/Lamb.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) 2014-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 "Lamb.H" -#include "phasePair.H" -#include "addToRunTimeSelectionTable.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ -namespace virtualMassModels -{ - defineTypeNameAndDebug(Lamb, 0); - addToRunTimeSelectionTable - ( - virtualMassModel, - Lamb, - dictionary - ); -} -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::virtualMassModels::Lamb::Lamb -( - const dictionary& dict, - const phasePair& pair, - const bool registerObject -) -: - virtualMassModel(dict, pair, registerObject) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::virtualMassModels::Lamb::~Lamb() -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -Foam::tmp Foam::virtualMassModels::Lamb::Cvm() const -{ - volScalarField E(min(max(pair_.E(), small), 1 - small)); - volScalarField rtOmEsq(sqrt(1 - sqr(E))); - - return - (rtOmEsq - E*acos(E)) - /(E*acos(E) - sqr(E)*rtOmEsq); -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/virtualMassModels/Lamb/Lamb.H b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/virtualMassModels/Lamb/Lamb.H deleted file mode 100644 index bc2dff3261..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/virtualMassModels/Lamb/Lamb.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) 2014-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::virtualMassModels::Lamb - -Description - Virtual mass model of Lamb. - - Reference: - \verbatim - "Hydrodynamics" - Lamb, H., - Cambridge University Press, 1895 - \endverbatim - -SourceFiles - Lamb.C - -\*---------------------------------------------------------------------------*/ - -#ifndef Lamb_H -#define Lamb_H - -#include "virtualMassModel.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -class phasePair; - -namespace virtualMassModels -{ - -/*---------------------------------------------------------------------------*\ - Class Lamb Declaration -\*---------------------------------------------------------------------------*/ - -class Lamb -: - public virtualMassModel -{ -public: - - //- Runtime type information - TypeName("Lamb"); - - - // Constructors - - //- Construct from a dictionary and a phase pair - Lamb - ( - const dictionary& dict, - const phasePair& pair, - const bool registerObject - ); - - - //- Destructor - virtual ~Lamb(); - - - // Member Functions - - //- Virtual mass coefficient - virtual tmp Cvm() const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace virtualMassModels -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/virtualMassModels/constantVirtualMassCoefficient/constantVirtualMassCoefficient.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/virtualMassModels/constantVirtualMassCoefficient/constantVirtualMassCoefficient.C deleted file mode 100644 index a5ddc6abe6..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/virtualMassModels/constantVirtualMassCoefficient/constantVirtualMassCoefficient.C +++ /dev/null @@ -1,85 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2014-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 "constantVirtualMassCoefficient.H" -#include "phasePair.H" -#include "addToRunTimeSelectionTable.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ -namespace virtualMassModels -{ - defineTypeNameAndDebug(constantVirtualMassCoefficient, 0); - addToRunTimeSelectionTable - ( - virtualMassModel, - constantVirtualMassCoefficient, - dictionary - ); -} -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::virtualMassModels::constantVirtualMassCoefficient:: -constantVirtualMassCoefficient -( - const dictionary& dict, - const phasePair& pair, - const bool registerObject -) -: - virtualMassModel(dict, pair, registerObject), - Cvm_("Cvm", dimless, dict) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::virtualMassModels::constantVirtualMassCoefficient:: -~constantVirtualMassCoefficient() -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -Foam::tmp -Foam::virtualMassModels::constantVirtualMassCoefficient::Cvm() const -{ - const fvMesh& mesh(this->pair_.phase1().mesh()); - - return volScalarField::New - ( - "Cvm", - mesh, - Cvm_ - ); -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/virtualMassModels/constantVirtualMassCoefficient/constantVirtualMassCoefficient.H b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/virtualMassModels/constantVirtualMassCoefficient/constantVirtualMassCoefficient.H deleted file mode 100644 index a433b4cca1..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/virtualMassModels/constantVirtualMassCoefficient/constantVirtualMassCoefficient.H +++ /dev/null @@ -1,101 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2014-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::virtualMassModels::constantVirtualMassCoefficient - -Description - Constant coefficient virtual mass model. - -SourceFiles - constantVirtualMassCoefficient.C - -\*---------------------------------------------------------------------------*/ - -#ifndef constantVirtualMassCoefficient_H -#define constantVirtualMassCoefficient_H - -#include "virtualMassModel.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -class phasePair; - -namespace virtualMassModels -{ - -/*---------------------------------------------------------------------------*\ - Class constantVirtualMassCoefficient Declaration -\*---------------------------------------------------------------------------*/ - -class constantVirtualMassCoefficient -: - public virtualMassModel -{ - // Private Data - - //- Constant virtual mass coefficient - const dimensionedScalar Cvm_; - - -public: - - //- Runtime type information - TypeName("constantCoefficient"); - - - // Constructors - - //- Construct from a dictionary and a phase pair - constantVirtualMassCoefficient - ( - const dictionary& dict, - const phasePair& pair, - const bool registerObject - ); - - - //- Destructor - virtual ~constantVirtualMassCoefficient(); - - - // Member Functions - - //- Virtual mass coefficient - virtual tmp Cvm() const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace virtualMassModels -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/virtualMassModels/noVirtualMass/noVirtualMass.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/virtualMassModels/noVirtualMass/noVirtualMass.C deleted file mode 100644 index ce8bf6c193..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/virtualMassModels/noVirtualMass/noVirtualMass.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) 2014-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 "noVirtualMass.H" -#include "phasePair.H" -#include "addToRunTimeSelectionTable.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ -namespace virtualMassModels -{ - defineTypeNameAndDebug(noVirtualMass, 0); - addToRunTimeSelectionTable(virtualMassModel, noVirtualMass, dictionary); -} -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::virtualMassModels::noVirtualMass::noVirtualMass -( - const dictionary& dict, - const phasePair& pair, - const bool registerObject -) -: - virtualMassModel(dict, pair, registerObject) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::virtualMassModels::noVirtualMass::~noVirtualMass() -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -Foam::tmp -Foam::virtualMassModels::noVirtualMass::Cvm() const -{ - const fvMesh& mesh(this->pair_.phase1().mesh()); - - return volScalarField::New - ( - "zero", - mesh, - dimensionedScalar(dimless, 0) - ); -} - - -Foam::tmp -Foam::virtualMassModels::noVirtualMass::K() const -{ - return Cvm()*dimensionedScalar(dimDensity, 0); -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/virtualMassModels/noVirtualMass/noVirtualMass.H b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/virtualMassModels/noVirtualMass/noVirtualMass.H deleted file mode 100644 index ebf06422bd..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/virtualMassModels/noVirtualMass/noVirtualMass.H +++ /dev/null @@ -1,97 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2014-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::virtualMassModels::noVirtualMass - -Description - -SourceFiles - noVirtualMass.C - -\*---------------------------------------------------------------------------*/ - -#ifndef noVirtualMass_H -#define noVirtualMass_H - -#include "virtualMassModel.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -class phasePair; - -namespace virtualMassModels -{ - -/*---------------------------------------------------------------------------*\ - Class noVirtualMass Declaration -\*---------------------------------------------------------------------------*/ - -class noVirtualMass -: - public virtualMassModel -{ -public: - - //- Runtime type information - TypeName("none"); - - - // Constructors - - //- Construct from a dictionary and a phase pair - noVirtualMass - ( - const dictionary& dict, - const phasePair& pair, - const bool registerObject - ); - - - //- Destructor - virtual ~noVirtualMass(); - - - // Member Functions - - //- Virtual mass coefficient - virtual tmp Cvm() const; - - //- The virtual mass function K used in the momentum equation - virtual tmp K() const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace virtualMassModels -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/virtualMassModels/virtualMassModel/newVirtualMassModel.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/virtualMassModels/virtualMassModel/newVirtualMassModel.C deleted file mode 100644 index 84e48a035b..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/virtualMassModels/virtualMassModel/newVirtualMassModel.C +++ /dev/null @@ -1,59 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2014-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 "virtualMassModel.H" -#include "phasePair.H" - -// * * * * * * * * * * * * * * * * Selector * * * * * * * * * * * * * * * * // - -Foam::autoPtr Foam::virtualMassModel::New -( - const dictionary& dict, - const phasePair& pair -) -{ - word virtualMassModelType(dict.lookup("type")); - - Info<< "Selecting virtualMassModel for " - << pair << ": " << virtualMassModelType << endl; - - dictionaryConstructorTable::iterator cstrIter = - dictionaryConstructorTablePtr_->find(virtualMassModelType); - - if (cstrIter == dictionaryConstructorTablePtr_->end()) - { - FatalErrorInFunction - << "Unknown virtualMassModelType type " - << virtualMassModelType << endl << endl - << "Valid virtualMassModel types are : " << endl - << dictionaryConstructorTablePtr_->sortedToc() - << exit(FatalError); - } - - return cstrIter()(dict, pair, true); -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/virtualMassModels/virtualMassModel/virtualMassModel.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/virtualMassModels/virtualMassModel/virtualMassModel.C deleted file mode 100644 index 00d67e8e21..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/virtualMassModels/virtualMassModel/virtualMassModel.C +++ /dev/null @@ -1,99 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2014-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 "virtualMassModel.H" -#include "phasePair.H" -#include "surfaceInterpolate.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ - defineTypeNameAndDebug(virtualMassModel, 0); - defineRunTimeSelectionTable(virtualMassModel, dictionary); -} - -const Foam::dimensionSet Foam::virtualMassModel::dimK(dimDensity); - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::virtualMassModel::virtualMassModel -( - const dictionary& dict, - const phasePair& pair, - const bool registerObject -) -: - regIOobject - ( - IOobject - ( - IOobject::groupName(typeName, pair.name()), - pair.phase1().mesh().time().timeName(), - pair.phase1().mesh(), - IOobject::NO_READ, - IOobject::NO_WRITE, - registerObject - ) - ), - pair_(pair) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::virtualMassModel::~virtualMassModel() -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -Foam::tmp Foam::virtualMassModel::Ki() const -{ - return Cvm()*pair_.continuous().rho(); -} - - -Foam::tmp Foam::virtualMassModel::K() const -{ - return pair_.dispersed()*Ki(); -} - - -Foam::tmp Foam::virtualMassModel::Kf() const -{ - return - fvc::interpolate(pair_.dispersed())*fvc::interpolate(Ki()); -} - - -bool Foam::virtualMassModel::writeData(Ostream& os) const -{ - return os.good(); -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/virtualMassModels/virtualMassModel/virtualMassModel.H b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/virtualMassModels/virtualMassModel/virtualMassModel.H deleted file mode 100644 index c71e74418d..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/virtualMassModels/virtualMassModel/virtualMassModel.H +++ /dev/null @@ -1,151 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2014-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::virtualMassModel - -Description - -SourceFiles - virtualMassModel.C - newVirtualMassModel.C - -\*---------------------------------------------------------------------------*/ - -#ifndef virtualMassModel_H -#define virtualMassModel_H - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#include "volFields.H" -#include "dictionary.H" -#include "runTimeSelectionTables.H" - -namespace Foam -{ - -class phasePair; - -/*---------------------------------------------------------------------------*\ - Class virtualMassModel Declaration -\*---------------------------------------------------------------------------*/ - -class virtualMassModel -: - public regIOobject -{ -protected: - - // Protected data - - //- Phase pair - const phasePair& pair_; - - -public: - - //- Runtime type information - TypeName("virtualMassModel"); - - - // Declare runtime construction - - declareRunTimeSelectionTable - ( - autoPtr, - virtualMassModel, - dictionary, - ( - const dictionary& dict, - const phasePair& pair, - const bool registerObject - ), - (dict, pair, registerObject) - ); - - - // Static Data Members - - //- Coefficient dimensions - static const dimensionSet dimK; - - - // Constructors - - //- Construct from a dictionary and a phase pair - virtualMassModel - ( - const dictionary& dict, - const phasePair& pair, - const bool registerObject - ); - - - //- Destructor - virtual ~virtualMassModel(); - - - // Selectors - - static autoPtr New - ( - const dictionary& dict, - const phasePair& pair - ); - - - // Member Functions - - //- Return the virtual mass coefficient - virtual tmp Cvm() const = 0; - - //- Return the phase-intensive virtual mass coefficient Ki - // used in the momentum equation - // ddt(alpha1*rho1*U1) + ... = ... alphad*K*(DU1_Dt - DU2_Dt) - // ddt(alpha2*rho2*U2) + ... = ... alphad*K*(DU1_Dt - DU2_Dt) - virtual tmp Ki() const; - - //- Return the virtual mass coefficient K - // used in the momentum equation - // ddt(alpha1*rho1*U1) + ... = ... K*(DU1_Dt - DU2_Dt) - // ddt(alpha2*rho2*U2) + ... = ... K*(DU1_Dt - DU2_Dt) - virtual tmp K() const; - - //- Return the virtual mass coefficient Kf - // used in the face-momentum equations - virtual tmp Kf() const; - - // Dummy write for regIOobject - bool writeData(Ostream& os) const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/wallDependentModel/wallDependentModel.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/wallDependentModel/wallDependentModel.C deleted file mode 100644 index 2d5ce58bed..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/wallDependentModel/wallDependentModel.C +++ /dev/null @@ -1,57 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2014-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 "wallDependentModel.H" -#include "wallDist.H" - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::wallDependentModel::wallDependentModel(const fvMesh& mesh) -: - mesh_(mesh) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::wallDependentModel::~wallDependentModel() -{} - - -// * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * // - -const Foam::volScalarField& Foam::wallDependentModel::yWall() const -{ - return wallDist::New(mesh_).y(); -} - - -const Foam::volVectorField& Foam::wallDependentModel::nWall() const -{ - return wallDist::New(mesh_).n(); -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/wallDependentModel/wallDependentModel.H b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/wallDependentModel/wallDependentModel.H deleted file mode 100644 index f4f3de5ba4..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/wallDependentModel/wallDependentModel.H +++ /dev/null @@ -1,97 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2014-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::wallDependentModel - -Description - A class which provides on-demand creation and caching of wall distance and - wall normal fields for use by multiple models. - -SourceFiles - wallDependentModel.C - -\*---------------------------------------------------------------------------*/ - -#ifndef wallDependentModel_H -#define wallDependentModel_H - -#include "fvMesh.H" -#include "volFields.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -/*---------------------------------------------------------------------------*\ - Class wallDependentModel Declaration -\*---------------------------------------------------------------------------*/ - -class wallDependentModel -{ - // Private Data - - //- Reference to the mesh - const fvMesh& mesh_; - - -public: - - // Constructors - - //- Construct from a mesh - wallDependentModel(const fvMesh& mesh); - - //- Disallow default bitwise copy construction - wallDependentModel(const wallDependentModel&) = delete; - - - //- Destructor - virtual ~wallDependentModel(); - - // Member Functions - - // Return the wall distance, creating and storing it if necessary - const volScalarField& yWall() const; - - // Return the wall normal, creating and storing it if necessary - const volVectorField& nWall() const; - - - // Member Operators - - //- Disallow default bitwise assignment - void operator=(const wallDependentModel&) = delete; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/wallLubricationModels/Antal/Antal.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/wallLubricationModels/Antal/Antal.C deleted file mode 100644 index 600cb8c12a..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/wallLubricationModels/Antal/Antal.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) 2014-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 "Antal.H" -#include "phasePair.H" -#include "addToRunTimeSelectionTable.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ -namespace wallLubricationModels -{ - defineTypeNameAndDebug(Antal, 0); - addToRunTimeSelectionTable - ( - wallLubricationModel, - Antal, - dictionary - ); -} -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::wallLubricationModels::Antal::Antal -( - const dictionary& dict, - const phasePair& pair -) -: - wallLubricationModel(dict, pair), - Cw1_("Cw1", dimless, dict), - Cw2_("Cw2", dimless, dict) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::wallLubricationModels::Antal::~Antal() -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -Foam::tmp Foam::wallLubricationModels::Antal::Fi() const -{ - volVectorField Ur(pair_.Ur()); - - const volVectorField& n(nWall()); - - return - max - ( - dimensionedScalar(dimless/dimLength, 0), - Cw1_/pair_.dispersed().d() + Cw2_/yWall() - ) - *pair_.continuous().rho() - *magSqr(Ur - (Ur & n)*n) - *n; -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/wallLubricationModels/Antal/Antal.H b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/wallLubricationModels/Antal/Antal.H deleted file mode 100644 index fc5d344fd6..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/wallLubricationModels/Antal/Antal.H +++ /dev/null @@ -1,112 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2014-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::wallLubricationModels::Antal - -Description - Wall lubrication model of Antal et al. - - Reference: - \verbatim - "Analysis of phase distribution in fully developed laminar bubbly - two-phase flow" - Antal, S.P., Lahey Jr, R.T., and Flaherty, J.E. - International Journal of Multiphase Flow - Volume 17, Issue 5, September 1991, pp. 635-652 - \endverbatim - -SourceFiles - Antal.C - -\*---------------------------------------------------------------------------*/ - -#ifndef Antal_H -#define Antal_H - -#include "wallLubricationModel.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -class phasePair; - -namespace wallLubricationModels -{ - -/*---------------------------------------------------------------------------*\ - Class Antal Declaration -\*---------------------------------------------------------------------------*/ - -class Antal -: - public wallLubricationModel -{ - // Private Data - - //- Coefficient 1 - const dimensionedScalar Cw1_; - - //- Coefficient 2 - const dimensionedScalar Cw2_; - - -public: - - //- Runtime type information - TypeName("Antal"); - - - // Constructors - - //- Construct from components - Antal - ( - const dictionary& dict, - const phasePair& pair - ); - - - //- Destructor - virtual ~Antal(); - - - // Member Functions - - //- Return phase-intensive wall lubrication force - tmp Fi() const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace wallLubricationModels -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/wallLubricationModels/Frank/Frank.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/wallLubricationModels/Frank/Frank.C deleted file mode 100644 index 8390add5fa..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/wallLubricationModels/Frank/Frank.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) 2014-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 "Frank.H" -#include "phasePair.H" -#include "addToRunTimeSelectionTable.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ -namespace wallLubricationModels -{ - defineTypeNameAndDebug(Frank, 0); - addToRunTimeSelectionTable - ( - wallLubricationModel, - Frank, - dictionary - ); -} -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::wallLubricationModels::Frank::Frank -( - const dictionary& dict, - const phasePair& pair -) -: - wallLubricationModel(dict, pair), - Cwd_("Cwd", dimless, dict), - Cwc_("Cwc", dimless, dict), - p_(dict.lookup("p")) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::wallLubricationModels::Frank::~Frank() -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -Foam::tmp Foam::wallLubricationModels::Frank::Fi() const -{ - volVectorField Ur(pair_.Ur()); - - const volVectorField& n(nWall()); - const volScalarField& y(yWall()); - - volScalarField Eo(pair_.Eo()); - volScalarField yTilde(y/(Cwc_*pair_.dispersed().d())); - - return - ( - pos0(Eo - 1.0)*neg(Eo - 5.0)*exp(-0.933*Eo + 0.179) - + pos0(Eo - 5.0)*neg(Eo - 33.0)*(0.00599*Eo - 0.0187) - + pos0(Eo - 33.0)*0.179 - ) - *max - ( - dimensionedScalar(dimless/dimLength, 0), - (1.0 - yTilde)/(Cwd_*y*pow(yTilde, p_ - 1.0)) - ) - *pair_.continuous().rho() - *magSqr(Ur - (Ur & n)*n) - *n; -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/wallLubricationModels/Frank/Frank.H b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/wallLubricationModels/Frank/Frank.H deleted file mode 100644 index d8aea86da5..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/wallLubricationModels/Frank/Frank.H +++ /dev/null @@ -1,122 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2014-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::wallLubricationModels::Frank - -Description - Wall lubrication model of Frank. - - References: - \verbatim - "Implementation and Comparison of Correlations for interfacial Forces - in a Gas-Liquid System within an Euler-Euler Framework" - Otromke, M. - PhD Thesis - April 2013 - \endverbatim - - \verbatim - "Advances in Computational Fluid Dynamics (CFD) of 3-dimensional Gas- - Liquid Multiphase Flows" - Frank, T. - NAFEMS Seminar: Simulation of Complex Flows (CFD), April 2005, pp. 1-18 - \endverbatim - -SourceFiles - Frank.C - -\*---------------------------------------------------------------------------*/ - -#ifndef Frank_H -#define Frank_H - -#include "wallLubricationModel.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -class phasePair; - -namespace wallLubricationModels -{ - -/*---------------------------------------------------------------------------*\ - Class Frank Declaration -\*---------------------------------------------------------------------------*/ - -class Frank -: - public wallLubricationModel -{ - // Private Data - - //- Coefficient d - const dimensionedScalar Cwd_; - - //- Coefficient c - const dimensionedScalar Cwc_; - - //- Power p - const scalar p_; - - -public: - - //- Runtime type information - TypeName("Frank"); - - - // Constructors - - //- Construct from components - Frank - ( - const dictionary& dict, - const phasePair& pair - ); - - - //- Destructor - virtual ~Frank(); - - - // Member Functions - - //- Return phase-intensive wall lubrication force - tmp Fi() const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace wallLubricationModels -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/wallLubricationModels/TomiyamaWallLubrication/TomiyamaWallLubrication.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/wallLubricationModels/TomiyamaWallLubrication/TomiyamaWallLubrication.C deleted file mode 100644 index 1624736b7c..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/wallLubricationModels/TomiyamaWallLubrication/TomiyamaWallLubrication.C +++ /dev/null @@ -1,96 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2014-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 "TomiyamaWallLubrication.H" -#include "phasePair.H" -#include "addToRunTimeSelectionTable.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ -namespace wallLubricationModels -{ - defineTypeNameAndDebug(TomiyamaWallLubrication, 0); - addToRunTimeSelectionTable - ( - wallLubricationModel, - TomiyamaWallLubrication, - dictionary - ); -} -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::wallLubricationModels::TomiyamaWallLubrication::TomiyamaWallLubrication -( - const dictionary& dict, - const phasePair& pair -) -: - wallLubricationModel(dict, pair), - D_("Cwd", dimLength, dict) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::wallLubricationModels::TomiyamaWallLubrication::~TomiyamaWallLubrication() -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -Foam::tmp -Foam::wallLubricationModels::TomiyamaWallLubrication::Fi() const -{ - volVectorField Ur(pair_.Ur()); - - const volVectorField& n(nWall()); - const volScalarField& y(yWall()); - - volScalarField Eo(pair_.Eo()); - - return - ( - pos0(Eo - 1.0)*neg(Eo - 5.0)*exp(-0.933*Eo + 0.179) - + pos0(Eo - 5.0)*neg(Eo - 33.0)*(0.00599*Eo - 0.0187) - + pos0(Eo - 33.0)*0.179 - ) - *0.5 - *pair_.dispersed().d() - *( - 1/sqr(y) - - 1/sqr(D_ - y) - ) - *pair_.continuous().rho() - *magSqr(Ur - (Ur & n)*n) - *n; -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/wallLubricationModels/TomiyamaWallLubrication/TomiyamaWallLubrication.H b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/wallLubricationModels/TomiyamaWallLubrication/TomiyamaWallLubrication.H deleted file mode 100644 index e50691fe1a..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/wallLubricationModels/TomiyamaWallLubrication/TomiyamaWallLubrication.H +++ /dev/null @@ -1,115 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2014-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::wallLubricationModels::TomiyamaWallLubrication - -Description - Wall lubrication model of Tomiyama. - - References: - \verbatim - "Implementation and Comparison of Correlations for interfacial Forces - in a Gas-Liquid System within an Euler-Euler Framework" - Otromke, M. - PhD Thesis, April 2013 - \endverbatim - - \verbatim - "Struggle with Computational Bubble Dynamics" - Tomiyama, A., - Multiphase Science and Technology - Volume 10, Issue 4, 1998, pp. 369-405 - \endverbatim - -SourceFiles - TomiyamaWallLubrication.C - -\*---------------------------------------------------------------------------*/ - -#ifndef TomiyamaWallLubrication_H -#define TomiyamaWallLubrication_H - -#include "wallLubricationModel.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -class phasePair; - -namespace wallLubricationModels -{ - -/*---------------------------------------------------------------------------*\ - Class TomiyamaWallLubrication Declaration -\*---------------------------------------------------------------------------*/ - -class TomiyamaWallLubrication -: - public wallLubricationModel -{ - // Private Data - - //- Characteristic channel dimension - const dimensionedScalar D_; - - -public: - - //- Runtime type information - TypeName("Tomiyama"); - - - // Constructors - - //- Construct from components - TomiyamaWallLubrication - ( - const dictionary& dict, - const phasePair& pair - ); - - - //- Destructor - virtual ~TomiyamaWallLubrication(); - - - // Member Functions - - //- Return phase-intensive wall lubrication force - tmp Fi() const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace wallLubricationModels -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/wallLubricationModels/noWallLubrication/noWallLubrication.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/wallLubricationModels/noWallLubrication/noWallLubrication.C deleted file mode 100644 index dd62683b65..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/wallLubricationModels/noWallLubrication/noWallLubrication.C +++ /dev/null @@ -1,95 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2014-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 "noWallLubrication.H" -#include "phasePair.H" -#include "addToRunTimeSelectionTable.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ -namespace wallLubricationModels -{ - defineTypeNameAndDebug(noWallLubrication, 0); - addToRunTimeSelectionTable - ( - wallLubricationModel, - noWallLubrication, - dictionary - ); -} -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::wallLubricationModels::noWallLubrication::noWallLubrication -( - const dictionary& dict, - const phasePair& pair -) -: - wallLubricationModel(dict, pair) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::wallLubricationModels::noWallLubrication::~noWallLubrication() -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -Foam::tmp -Foam::wallLubricationModels::noWallLubrication::Fi() const -{ - const fvMesh& mesh(this->pair_.phase1().mesh()); - - return volVectorField::New - ( - "noWallLubrication:Fi", - mesh, - dimensionedVector(dimF, Zero) - ); -} - - -Foam::tmp -Foam::wallLubricationModels::noWallLubrication::F() const -{ - const fvMesh& mesh(this->pair_.phase1().mesh()); - - return volVectorField::New - ( - "noWallLubrication:F", - mesh, - dimensionedVector(dimF, Zero) - ); -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/wallLubricationModels/noWallLubrication/noWallLubrication.H b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/wallLubricationModels/noWallLubrication/noWallLubrication.H deleted file mode 100644 index f7a47a0197..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/wallLubricationModels/noWallLubrication/noWallLubrication.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) 2014-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::wallLubricationModels::noWallLubrication - -Description - -SourceFiles - noWallLubrication.C - -\*---------------------------------------------------------------------------*/ - -#ifndef noWallLubrication_H -#define noWallLubrication_H - -#include "wallLubricationModel.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -class phasePair; - -namespace wallLubricationModels -{ - -/*---------------------------------------------------------------------------*\ - Class noWallLubrication Declaration -\*---------------------------------------------------------------------------*/ - -class noWallLubrication -: - public wallLubricationModel -{ -public: - - //- Runtime type information - TypeName("none"); - - - // Constructors - - //- Construct from components - noWallLubrication - ( - const dictionary& dict, - const phasePair& pair - ); - - - //- Destructor - virtual ~noWallLubrication(); - - - // Member Functions - - //- Return phase-intensive wall lubrication force - tmp Fi() const; - - //- Wall lubrication force - tmp F() const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace wallLubricationModels -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/wallLubricationModels/wallLubricationModel/newWallLubricationModel.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/wallLubricationModels/wallLubricationModel/newWallLubricationModel.C deleted file mode 100644 index d444a95914..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/wallLubricationModels/wallLubricationModel/newWallLubricationModel.C +++ /dev/null @@ -1,59 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2014-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 "wallLubricationModel.H" -#include "phasePair.H" - -// * * * * * * * * * * * * * * * * Selector * * * * * * * * * * * * * * * * // - -Foam::autoPtr Foam::wallLubricationModel::New -( - const dictionary& dict, - const phasePair& pair -) -{ - word wallLubricationModelType(dict.lookup("type")); - - Info<< "Selecting wallLubricationModel for " - << pair << ": " << wallLubricationModelType << endl; - - dictionaryConstructorTable::iterator cstrIter = - dictionaryConstructorTablePtr_->find(wallLubricationModelType); - - if (cstrIter == dictionaryConstructorTablePtr_->end()) - { - FatalErrorInFunction - << "Unknown wallLubricationModelType type " - << wallLubricationModelType << endl << endl - << "Valid wallLubricationModel types are : " << endl - << dictionaryConstructorTablePtr_->sortedToc() - << exit(FatalError); - } - - return cstrIter()(dict, pair); -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/wallLubricationModels/wallLubricationModel/wallLubricationModel.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/wallLubricationModels/wallLubricationModel/wallLubricationModel.C deleted file mode 100644 index b982c8228b..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/wallLubricationModels/wallLubricationModel/wallLubricationModel.C +++ /dev/null @@ -1,75 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2014-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 "wallLubricationModel.H" -#include "phasePair.H" -#include "fvcFlux.H" -#include "surfaceInterpolate.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ - defineTypeNameAndDebug(wallLubricationModel, 0); - defineRunTimeSelectionTable(wallLubricationModel, dictionary); -} - -const Foam::dimensionSet Foam::wallLubricationModel::dimF(1, -2, -2, 0, 0); - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::wallLubricationModel::wallLubricationModel -( - const dictionary& dict, - const phasePair& pair -) -: - wallDependentModel(pair.phase1().mesh()), - pair_(pair) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::wallLubricationModel::~wallLubricationModel() -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -Foam::tmp Foam::wallLubricationModel::F() const -{ - return pair_.dispersed()*Fi(); -} - - -Foam::tmp Foam::wallLubricationModel::Ff() const -{ - return fvc::interpolate(pair_.dispersed())*fvc::flux(Fi()); -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/wallLubricationModels/wallLubricationModel/wallLubricationModel.H b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/wallLubricationModels/wallLubricationModel/wallLubricationModel.H deleted file mode 100644 index a5795f1a7f..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/wallLubricationModels/wallLubricationModel/wallLubricationModel.H +++ /dev/null @@ -1,137 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2014-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::wallLubricationModel - -Description - -SourceFiles - wallLubricationModel.C - newWallLubricationModel.C - -\*---------------------------------------------------------------------------*/ - -#ifndef wallLubricationModel_H -#define wallLubricationModel_H - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#include "wallDependentModel.H" -#include "volFields.H" -#include "dictionary.H" -#include "runTimeSelectionTables.H" - -namespace Foam -{ - -class phasePair; - -/*---------------------------------------------------------------------------*\ - Class wallLubricationModel Declaration -\*---------------------------------------------------------------------------*/ - -class wallLubricationModel -: - public wallDependentModel -{ -protected: - - // Protected data - - //- Phase pair - const phasePair& pair_; - - -public: - - //- Runtime type information - TypeName("wallLubricationModel"); - - - // Declare runtime construction - - declareRunTimeSelectionTable - ( - autoPtr, - wallLubricationModel, - dictionary, - ( - const dictionary& dict, - const phasePair& pair - ), - (dict, pair) - ); - - - // Static Data Members - - //- Coefficient dimensions - static const dimensionSet dimF; - - - // Constructors - - //- Construct from components - wallLubricationModel - ( - const dictionary& dict, - const phasePair& pair - ); - - - //- Destructor - virtual ~wallLubricationModel(); - - - // Selectors - - static autoPtr New - ( - const dictionary& dict, - const phasePair& pair - ); - - - // Member Functions - - //- Return phase-intensive wall lubrication force - virtual tmp Fi() const = 0; - - //- Return wall lubrication force - virtual tmp F() const; - - //- Return face wall lubrication force - virtual tmp Ff() const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/pU/DDtU.H b/applications/solvers/multiphase/twoPhaseEulerFoam/pU/DDtU.H deleted file mode 100644 index 0ade723a3b..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/pU/DDtU.H +++ /dev/null @@ -1,13 +0,0 @@ -{ - DDtU1 = - fvc::ddt(U1) - + fvc::div(phi1, U1) - - fvc::div(phi1)*U1; - MRF.addAcceleration(U1, DDtU1); - - DDtU2 = - fvc::ddt(U2) - + fvc::div(phi2, U2) - - fvc::div(phi2)*U2; - MRF.addAcceleration(U2, DDtU2); -} diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/pU/UEqns.H b/applications/solvers/multiphase/twoPhaseEulerFoam/pU/UEqns.H deleted file mode 100644 index 051ea5f814..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/pU/UEqns.H +++ /dev/null @@ -1,62 +0,0 @@ -Info<< "Constructing momentum equations" << endl; - -MRF.correctBoundaryVelocity(U1); -MRF.correctBoundaryVelocity(U2); -MRF.correctBoundaryVelocity(U); - -fvVectorMatrix U1Eqn(U1, rho1.dimensions()*U1.dimensions()*dimVol/dimTime); -fvVectorMatrix U2Eqn(U2, rho2.dimensions()*U2.dimensions()*dimVol/dimTime); - -volScalarField Kd(fluid.Kd()); - -{ - volScalarField Vm(fluid.Vm()); - - { - U1Eqn = - ( - fvm::ddt(alpha1, rho1, U1) + fvm::div(alphaRhoPhi1, U1) - - fvm::Sp(contErr1, U1) - + MRF.DDt(alpha1*rho1 + Vm, U1) - + phase1.turbulence().divDevTau(U1) - == - - Vm - *( - fvm::ddt(U1) - + fvm::div(phi1, U1) - - fvm::Sp(fvc::div(phi1), U1) - - DDtU2 - ) - + fvOptions(alpha1, rho1, U1) - ); - U1Eqn.relax(); - U1Eqn += fvm::Sp(Kd, U1); - fvOptions.constrain(U1Eqn); - U1.correctBoundaryConditions(); - fvOptions.correct(U1); - } - - { - U2Eqn = - ( - fvm::ddt(alpha2, rho2, U2) + fvm::div(alphaRhoPhi2, U2) - - fvm::Sp(contErr2, U2) - + MRF.DDt(alpha2*rho2 + Vm, U2) - + phase2.turbulence().divDevTau(U2) - == - - Vm - *( - fvm::ddt(U2) - + fvm::div(phi2, U2) - - fvm::Sp(fvc::div(phi2), U2) - - DDtU1 - ) - + fvOptions(alpha2, rho2, U2) - ); - U2Eqn.relax(); - U2Eqn += fvm::Sp(Kd, U2); - fvOptions.constrain(U2Eqn); - U2.correctBoundaryConditions(); - fvOptions.correct(U2); - } -} diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/pU/createDDtU.H b/applications/solvers/multiphase/twoPhaseEulerFoam/pU/createDDtU.H deleted file mode 100644 index f71a265817..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/pU/createDDtU.H +++ /dev/null @@ -1,17 +0,0 @@ - Info<< "Calculating field DDtU1 and DDtU2\n" << endl; - - volVectorField DDtU1 - ( - "DDtU1", - fvc::ddt(U1) - + fvc::div(phi1, U1) - - fvc::div(phi1)*U1 - ); - - volVectorField DDtU2 - ( - "DDtU2", - fvc::ddt(U2) - + fvc::div(phi2, U2) - - fvc::div(phi2)*U2 - ); diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/pU/pEqn.H b/applications/solvers/multiphase/twoPhaseEulerFoam/pU/pEqn.H deleted file mode 100644 index c5fd85ad7f..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/pU/pEqn.H +++ /dev/null @@ -1,415 +0,0 @@ -surfaceScalarField alphaf1("alphaf1", fvc::interpolate(alpha1)); -surfaceScalarField alphaf2("alphaf2", scalar(1) - alphaf1); - -volScalarField rAU1 -( - IOobject::groupName("rAU", phase1.name()), - 1.0 - /( - U1Eqn.A() - + max(phase1.residualAlpha() - alpha1, scalar(0)) - *rho1/runTime.deltaT() - ) -); -volScalarField rAU2 -( - IOobject::groupName("rAU", phase2.name()), - 1.0 - /( - U2Eqn.A() - + max(phase2.residualAlpha() - alpha2, scalar(0)) - *rho2/runTime.deltaT() - ) -); - -surfaceScalarField alpharAUf1 -( - fvc::interpolate(max(alpha1, phase1.residualAlpha())*rAU1) -); -surfaceScalarField alpharAUf2 -( - fvc::interpolate(max(alpha2, phase2.residualAlpha())*rAU2) -); - -// Turbulent diffusion, particle-pressure, lift and wall-lubrication fluxes -tmp phiF1; -tmp phiF2; -{ - // Turbulent-dispersion diffusivity - volScalarField D(fluid.D()); - - // Phase-1 turbulent dispersion and particle-pressure flux - surfaceScalarField Df1 - ( - fvc::interpolate - ( - rAU1*(D + phase1.turbulence().pPrime()) - ) - ); - - // Phase-2 turbulent dispersion and particle-pressure flux - surfaceScalarField Df2 - ( - fvc::interpolate - ( - rAU2*(D + phase2.turbulence().pPrime()) - ) - ); - - // Cache the net diffusivity for implicit diffusion treatment in the - // phase-fraction equation - if (implicitPhasePressure) - { - fluid.pPrimeByA() = Df1 + Df2; - } - - // Lift and wall-lubrication forces - volVectorField F(fluid.F()); - - // Phase-fraction face-gradient - surfaceScalarField snGradAlpha1(fvc::snGrad(alpha1)*mesh.magSf()); - - // Phase-1 dispersion, lift and wall-lubrication flux - phiF1 = Df1*snGradAlpha1 + fvc::flux(rAU1*F); - - // Phase-1 dispersion, lift and wall-lubrication flux - phiF2 = - Df2*snGradAlpha1 - fvc::flux(rAU2*F); -} - - -// --- Pressure corrector loop -while (pimple.correct()) -{ - // Update continuity errors due to temperature changes - #include "correctContErrs.H" - - volScalarField rho("rho", fluid.rho()); - - // Correct p_rgh for consistency with p and the updated densities - p_rgh = p - rho*gh; - - // Correct fixed-flux BCs to be consistent with the velocity BCs - MRF.correctBoundaryFlux(U1, phi1); - MRF.correctBoundaryFlux(U2, phi2); - - volVectorField HbyA1 - ( - IOobject::groupName("HbyA", phase1.name()), - U1 - ); - HbyA1 = - rAU1 - *( - U1Eqn.H() - + max(phase1.residualAlpha() - alpha1, scalar(0)) - *rho1*U1.oldTime()/runTime.deltaT() - ); - - volVectorField HbyA2 - ( - IOobject::groupName("HbyA", phase2.name()), - U2 - ); - HbyA2 = - rAU2 - *( - U2Eqn.H() - + max(phase2.residualAlpha() - alpha2, scalar(0)) - *rho2*U2.oldTime()/runTime.deltaT() - ); - - surfaceScalarField ghSnGradRho - ( - "ghSnGradRho", - ghf*fvc::snGrad(rho)*mesh.magSf() - ); - - surfaceScalarField phig1 - ( - alpharAUf1 - *( - ghSnGradRho - - alphaf2*fvc::interpolate(rho1 - rho2)*(g & mesh.Sf()) - ) - ); - - surfaceScalarField phig2 - ( - alpharAUf2 - *( - ghSnGradRho - - alphaf1*fvc::interpolate(rho2 - rho1)*(g & mesh.Sf()) - ) - ); - - - // ddtPhiCorr filter -- only apply in pure(ish) phases - surfaceScalarField alphaf1Bar(fvc::interpolate(fvc::average(alphaf1))); - surfaceScalarField phiCorrCoeff1(pos0(alphaf1Bar - 0.99)); - surfaceScalarField phiCorrCoeff2(pos0(0.01 - alphaf1Bar)); - - { - surfaceScalarField::Boundary& phiCorrCoeff1Bf = - phiCorrCoeff1.boundaryFieldRef(); - - surfaceScalarField::Boundary& phiCorrCoeff2Bf = - phiCorrCoeff2.boundaryFieldRef(); - - forAll(mesh.boundary(), patchi) - { - // Set ddtPhiCorr to 0 on non-coupled boundaries - if - ( - !mesh.boundary()[patchi].coupled() - || isA(mesh.boundary()[patchi]) - ) - { - phiCorrCoeff1Bf[patchi] = 0; - phiCorrCoeff2Bf[patchi] = 0; - } - } - } - - // Phase-1 predicted flux - surfaceScalarField phiHbyA1 - ( - IOobject::groupName("phiHbyA", phase1.name()), - fvc::flux(HbyA1) - + phiCorrCoeff1*fvc::interpolate(alpha1.oldTime()*rho1.oldTime()*rAU1) - *( - MRF.absolute(phi1.oldTime()) - - fvc::flux(U1.oldTime()) - )/runTime.deltaT() - - phiF1() - - phig1 - ); - - // Phase-2 predicted flux - surfaceScalarField phiHbyA2 - ( - IOobject::groupName("phiHbyA", phase2.name()), - fvc::flux(HbyA2) - + phiCorrCoeff2*fvc::interpolate(alpha2.oldTime()*rho2.oldTime()*rAU2) - *( - MRF.absolute(phi2.oldTime()) - - fvc::flux(U2.oldTime()) - )/runTime.deltaT() - - phiF2() - - phig2 - ); - - // Face-drag coefficients - surfaceScalarField rAUKd1(fvc::interpolate(rAU1*Kd)); - surfaceScalarField rAUKd2(fvc::interpolate(rAU2*Kd)); - - // Construct the mean predicted flux - // including explicit drag contributions based on absolute fluxes - surfaceScalarField phiHbyA - ( - "phiHbyA", - alphaf1*(phiHbyA1 + rAUKd1*MRF.absolute(phi2)) - + alphaf2*(phiHbyA2 + rAUKd2*MRF.absolute(phi1)) - ); - MRF.makeRelative(phiHbyA); - - // Construct pressure "diffusivity" - surfaceScalarField rAUf - ( - "rAUf", - mag(alphaf1*alpharAUf1 + alphaf2*alpharAUf2) - ); - - // Update the fixedFluxPressure BCs to ensure flux consistency - setSnGrad - ( - p_rgh.boundaryFieldRef(), - ( - phiHbyA.boundaryField() - - ( - alphaf1.boundaryField()*phi1.boundaryField() - + alphaf2.boundaryField()*phi2.boundaryField() - ) - )/(mesh.magSf().boundaryField()*rAUf.boundaryField()) - ); - - tmp pEqnComp1; - tmp pEqnComp2; - - // Construct the compressibility parts of the pressure equation - if (pimple.transonic()) - { - surfaceScalarField phid1 - ( - IOobject::groupName("phid", phase1.name()), - fvc::interpolate(psi1)*phi1 - ); - surfaceScalarField phid2 - ( - IOobject::groupName("phid", phase2.name()), - fvc::interpolate(psi2)*phi2 - ); - - pEqnComp1 = - ( - contErr1 - - fvc::Sp(fvc::ddt(alpha1) + fvc::div(alphaPhi1), rho1) - )/rho1 - + correction - ( - (alpha1/rho1)* - ( - psi1*fvm::ddt(p_rgh) - + fvm::div(phid1, p_rgh) - fvm::Sp(fvc::div(phid1), p_rgh) - ) - ); - pEqnComp1.ref().relax(); - - pEqnComp2 = - ( - contErr2 - - fvc::Sp(fvc::ddt(alpha2) + fvc::div(alphaPhi2), rho2) - )/rho2 - + correction - ( - (alpha2/rho2)* - ( - psi2*fvm::ddt(p_rgh) - + fvm::div(phid2, p_rgh) - fvm::Sp(fvc::div(phid2), p_rgh) - ) - ); - pEqnComp2.ref().relax(); - } - else - { - pEqnComp1 = - ( - contErr1 - - fvc::Sp(fvc::ddt(alpha1) + fvc::div(alphaPhi1), rho1) - )/rho1 - + (alpha1*psi1/rho1)*correction(fvm::ddt(p_rgh)); - - pEqnComp2 = - ( - contErr2 - - fvc::Sp(fvc::ddt(alpha2) + fvc::div(alphaPhi2), rho2) - )/rho2 - + (alpha2*psi2/rho2)*correction(fvm::ddt(p_rgh)); - } - - // Cache p prior to solve for density update - volScalarField p_rgh_0(p_rgh); - - // Iterate over the pressure equation to correct for non-orthogonality - while (pimple.correctNonOrthogonal()) - { - // Construct the transport part of the pressure equation - fvScalarMatrix pEqnIncomp - ( - fvc::div(phiHbyA) - - fvm::laplacian(rAUf, p_rgh) - ); - - solve - ( - pEqnComp1() + pEqnComp2() + pEqnIncomp - ); - - // Correct fluxes and velocities on last non-orthogonal iteration - if (pimple.finalNonOrthogonalIter()) - { - phi = phiHbyA + pEqnIncomp.flux(); - - surfaceScalarField mSfGradp("mSfGradp", pEqnIncomp.flux()/rAUf); - - // Partial-elimination phase-flux corrector - { - surfaceScalarField phi1s - ( - phiHbyA1 + alpharAUf1*mSfGradp - ); - - surfaceScalarField phi2s - ( - phiHbyA2 + alpharAUf2*mSfGradp - ); - - surfaceScalarField phir - ( - ((phi1s + rAUKd1*phi2s) - (phi2s + rAUKd2*phi1s)) - /(1 - rAUKd1*rAUKd2) - ); - - phi1 = phi + alphaf2*phir; - phi2 = phi - alphaf1*phir; - } - - // Compressibility correction for phase-fraction equations - fluid.dgdt() = - ( - alpha1*(pEqnComp2 & p_rgh) - - alpha2*(pEqnComp1 & p_rgh) - ); - - // Optionally relax pressure for velocity correction - p_rgh.relax(); - - mSfGradp = pEqnIncomp.flux()/rAUf; - - // Partial-elimination phase-velocity corrector - { - volVectorField Us1 - ( - HbyA1 - + fvc::reconstruct(alpharAUf1*mSfGradp - phiF1() - phig1) - ); - - volVectorField Us2 - ( - HbyA2 - + fvc::reconstruct(alpharAUf2*mSfGradp - phiF2() - phig2) - ); - - volScalarField D1(rAU1*Kd); - volScalarField D2(rAU2*Kd); - - U = alpha1*(Us1 + D1*U2) + alpha2*(Us2 + D2*U1); - volVectorField Ur(((1 - D2)*Us1 - (1 - D1)*Us2)/(1 - D1*D2)); - - U1 = U + alpha2*Ur; - U1.correctBoundaryConditions(); - fvOptions.correct(U1); - - U2 = U - alpha1*Ur; - U2.correctBoundaryConditions(); - fvOptions.correct(U2); - - U = fluid.U(); - } - } - } - - // Update and limit the static pressure - p = max(p_rgh + rho*gh, pMin); - - // Limit p_rgh - p_rgh = p - rho*gh; - - // Update densities from change in p_rgh - rho1 += psi1*(p_rgh - p_rgh_0); - rho2 += psi2*(p_rgh - p_rgh_0); - - // Correct p_rgh for consistency with p and the updated densities - rho = fluid.rho(); - p_rgh = p - rho*gh; - p_rgh.correctBoundaryConditions(); -} - -// Update the phase kinetic energies -K1 = 0.5*magSqr(U1); -K2 = 0.5*magSqr(U2); - -// Update the pressure time-derivative if required -if (thermo1.dpdt() || thermo2.dpdt()) -{ - dpdt = fvc::ddt(p); -} diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/pUf/DDtU.H b/applications/solvers/multiphase/twoPhaseEulerFoam/pUf/DDtU.H deleted file mode 100644 index 63b61cd61a..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/pUf/DDtU.H +++ /dev/null @@ -1,9 +0,0 @@ - ddtPhi1 = - ( - (phi1 - phi1.oldTime())/runTime.deltaT() - ); - - ddtPhi2 = - ( - (phi2 - phi2.oldTime())/runTime.deltaT() - ); diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/pUf/UEqns.H b/applications/solvers/multiphase/twoPhaseEulerFoam/pUf/UEqns.H deleted file mode 100644 index f22e309c71..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/pUf/UEqns.H +++ /dev/null @@ -1,55 +0,0 @@ -Info<< "Constructing face momentum equations" << endl; - -MRF.correctBoundaryVelocity(U1); -MRF.correctBoundaryVelocity(U2); -MRF.correctBoundaryVelocity(U); -Info<< "Constructing face momentum equations" << endl; - -fvVectorMatrix U1Eqn(U1, rho1.dimensions()*U1.dimensions()*dimVol/dimTime); -fvVectorMatrix U2Eqn(U2, rho2.dimensions()*U2.dimensions()*dimVol/dimTime); - -{ - volScalarField Vm(fluid.Vm()); - - fvVectorMatrix UgradU1 - ( - fvm::div(phi1, U1) - fvm::Sp(fvc::div(phi1), U1) - + MRF.DDt(U1) - ); - - fvVectorMatrix UgradU2 - ( - fvm::div(phi2, U2) - fvm::Sp(fvc::div(phi2), U2) - + MRF.DDt(U2) - ); - - { - U1Eqn = - ( - fvm::div(alphaRhoPhi1, U1) - fvm::Sp(fvc::div(alphaRhoPhi1), U1) - + MRF.DDt(alpha1*rho1, U1) - + phase1.turbulence().divDevTau(U1) - + Vm*(UgradU1 - (UgradU2 & U2)) - - fvOptions(alpha1, rho1, U1) - ); - U1Eqn.relax(); - fvOptions.constrain(U1Eqn); - U1.correctBoundaryConditions(); - fvOptions.correct(U1); - } - - { - U2Eqn = - ( - fvm::div(alphaRhoPhi2, U2) - fvm::Sp(fvc::div(alphaRhoPhi2), U2) - + MRF.DDt(alpha2*rho2, U2) - + phase2.turbulence().divDevTau(U2) - + Vm*(UgradU2 - (UgradU1 & U1)) - - fvOptions(alpha2, rho2, U2) - ); - U2Eqn.relax(); - fvOptions.constrain(U2Eqn); - U2.correctBoundaryConditions(); - fvOptions.correct(U2); - } -} diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/pUf/createDDtU.H b/applications/solvers/multiphase/twoPhaseEulerFoam/pUf/createDDtU.H deleted file mode 100644 index 7445d4af23..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/pUf/createDDtU.H +++ /dev/null @@ -1,9 +0,0 @@ - surfaceScalarField ddtPhi1 - ( - (phi1 - phi1.oldTime())/runTime.deltaT() - ); - - surfaceScalarField ddtPhi2 - ( - (phi2 - phi2.oldTime())/runTime.deltaT() - ); diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/pUf/pEqn.H b/applications/solvers/multiphase/twoPhaseEulerFoam/pUf/pEqn.H deleted file mode 100644 index ac2edc59f6..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/pUf/pEqn.H +++ /dev/null @@ -1,367 +0,0 @@ -surfaceScalarField alphaf1("alphaf1", fvc::interpolate(alpha1)); -surfaceScalarField alphaf2("alphaf2", scalar(1) - alphaf1); - -surfaceScalarField alphaRhof10 -( - "alphaRhof10", - fvc::interpolate - ( - max(alpha1.oldTime(), phase1.residualAlpha()) - *rho1.oldTime() - ) -); - -surfaceScalarField alphaRhof20 -( - "alphaRhof20", - fvc::interpolate - ( - max(alpha2.oldTime(), phase2.residualAlpha()) - *rho2.oldTime() - ) -); - -// Drag coefficient -surfaceScalarField Kdf("Kdf", fluid.Kdf()); - -// Virtual-mass coefficient -surfaceScalarField Vmf("Vmf", fluid.Vmf()); - -surfaceScalarField rAUf1 -( - IOobject::groupName("rAUf", phase1.name()), - 1.0 - /( - (alphaRhof10 + Vmf)/runTime.deltaT() - + fvc::interpolate(U1Eqn.A()) - + Kdf - ) -); - -surfaceScalarField rAUf2 -( - IOobject::groupName("rAUf", phase2.name()), - 1.0 - /( - (alphaRhof20 + Vmf)/runTime.deltaT() - + fvc::interpolate(U2Eqn.A()) - + Kdf - ) -); - - -// Turbulent dispersion, particle-pressure, lift and wall-lubrication forces -tmp Ff1; -tmp Ff2; -{ - // Turbulent-dispersion diffusivity - volScalarField D(fluid.D()); - - // Phase-1 turbulent dispersion and particle-pressure diffusivity - surfaceScalarField Df1 - ( - fvc::interpolate(D + phase1.turbulence().pPrime()) - ); - - // Phase-2 turbulent dispersion and particle-pressure diffusivity - surfaceScalarField Df2 - ( - fvc::interpolate(D + phase2.turbulence().pPrime()) - ); - - // Cache the net diffusivity for implicit diffusion treatment in the - // phase-fraction equation - if (implicitPhasePressure) - { - fluid.pPrimeByA() = rAUf1*Df1 + rAUf2*Df2; - } - - // Lift and wall-lubrication forces - surfaceScalarField Ff(fluid.Ff()); - - // Phase-fraction face-gradient - surfaceScalarField snGradAlpha1(fvc::snGrad(alpha1)*mesh.magSf()); - - // Phase-1 dispersion, lift and wall-lubrication force - Ff1 = Df1*snGradAlpha1 + Ff; - - // Phase-2 dispersion, lift and wall-lubrication force - Ff2 = -Df2*snGradAlpha1 - Ff; -} - - -while (pimple.correct()) -{ - // Update continuity errors due to temperature changes - #include "correctContErrs.H" - - volScalarField rho("rho", fluid.rho()); - - // Correct p_rgh for consistency with p and the updated densities - p_rgh = p - rho*gh; - - surfaceScalarField rhof1(fvc::interpolate(rho1)); - surfaceScalarField rhof2(fvc::interpolate(rho2)); - - // Correct fixed-flux BCs to be consistent with the velocity BCs - MRF.correctBoundaryFlux(U1, phi1); - MRF.correctBoundaryFlux(U2, phi2); - - surfaceScalarField alpharAUf1 - ( - IOobject::groupName("alpharAUf", phase1.name()), - max(alphaf1, phase1.residualAlpha())*rAUf1 - ); - - surfaceScalarField alpharAUf2 - ( - IOobject::groupName("alpharAUf", phase2.name()), - max(alphaf2, phase2.residualAlpha())*rAUf2 - ); - - surfaceScalarField ghSnGradRho - ( - "ghSnGradRho", - ghf*fvc::snGrad(rho)*mesh.magSf() - ); - - // Phase-1 buoyancy flux - surfaceScalarField phig1 - ( - IOobject::groupName("phig", phase1.name()), - alpharAUf1 - *( - ghSnGradRho - - alphaf2*(rhof1 - rhof2)*(g & mesh.Sf()) - ) - ); - - // Phase-2 buoyancy flux - surfaceScalarField phig2 - ( - IOobject::groupName("phig", phase2.name()), - alpharAUf2 - *( - ghSnGradRho - - alphaf1*(rhof2 - rhof1)*(g & mesh.Sf()) - ) - ); - - - // Phase-1 predicted flux - surfaceScalarField phiHbyA1 - ( - IOobject::groupName("phiHbyA", phase1.name()), - phi1 - ); - - phiHbyA1 = - rAUf1 - *( - (alphaRhof10 + Vmf) - *MRF.absolute(phi1.oldTime())/runTime.deltaT() - + fvc::flux(U1Eqn.H()) - + Vmf*ddtPhi2 - + Kdf*MRF.absolute(phi2) - - Ff1() - ); - - // Phase-2 predicted flux - surfaceScalarField phiHbyA2 - ( - IOobject::groupName("phiHbyA", phase2.name()), - phi2 - ); - - phiHbyA2 = - rAUf2 - *( - (alphaRhof20 + Vmf) - *MRF.absolute(phi2.oldTime())/runTime.deltaT() - + fvc::flux(U2Eqn.H()) - + Vmf*ddtPhi1 - + Kdf*MRF.absolute(phi1) - - Ff2() - ); - - - surfaceScalarField phiHbyA - ( - "phiHbyA", - alphaf1*(phiHbyA1 - phig1) + alphaf2*(phiHbyA2 - phig2) - ); - MRF.makeRelative(phiHbyA); - - phiHbyA1 -= phig1; - phiHbyA2 -= phig2; - - surfaceScalarField rAUf - ( - "rAUf", - mag(alphaf1*alpharAUf1 + alphaf2*alpharAUf2) - ); - - // Update the fixedFluxPressure BCs to ensure flux consistency - setSnGrad - ( - p_rgh.boundaryFieldRef(), - ( - phiHbyA.boundaryField() - - ( - alphaf1.boundaryField()*phi1.boundaryField() - + alphaf2.boundaryField()*phi2.boundaryField() - ) - )/(mesh.magSf().boundaryField()*rAUf.boundaryField()) - ); - - tmp pEqnComp1; - tmp pEqnComp2; - - if (pimple.transonic()) - { - surfaceScalarField phid1 - ( - IOobject::groupName("phid", phase1.name()), - fvc::interpolate(psi1)*phi1 - ); - surfaceScalarField phid2 - ( - IOobject::groupName("phid", phase2.name()), - fvc::interpolate(psi2)*phi2 - ); - - pEqnComp1 = - ( - contErr1 - - fvc::Sp(fvc::ddt(alpha1) + fvc::div(alphaPhi1), rho1) - )/rho1 - + correction - ( - (alpha1/rho1)* - ( - psi1*fvm::ddt(p_rgh) - + fvm::div(phid1, p_rgh) - fvm::Sp(fvc::div(phid1), p_rgh) - ) - ); - pEqnComp1.ref().relax(); - - pEqnComp2 = - ( - contErr2 - - fvc::Sp(fvc::ddt(alpha2) + fvc::div(alphaPhi2), rho2) - )/rho2 - + correction - ( - (alpha2/rho2)* - ( - psi2*fvm::ddt(p_rgh) - + fvm::div(phid2, p_rgh) - fvm::Sp(fvc::div(phid2), p_rgh) - ) - ); - pEqnComp2.ref().relax(); - } - else - { - pEqnComp1 = - ( - contErr1 - - fvc::Sp(fvc::ddt(alpha1) + fvc::div(alphaPhi1), rho1) - )/rho1 - + (alpha1*psi1/rho1)*correction(fvm::ddt(p_rgh)); - - pEqnComp2 = - ( - contErr2 - - fvc::Sp(fvc::ddt(alpha2) + fvc::div(alphaPhi2), rho2) - )/rho2 - + (alpha2*psi2/rho2)*correction(fvm::ddt(p_rgh)); - } - - // Cache p prior to solve for density update - volScalarField p_rgh_0("p_rgh_0", p_rgh); - - while (pimple.correctNonOrthogonal()) - { - fvScalarMatrix pEqnIncomp - ( - fvc::div(phiHbyA) - - fvm::laplacian(rAUf, p_rgh) - ); - - solve - ( - pEqnComp1() + pEqnComp2() + pEqnIncomp - ); - - if (pimple.finalNonOrthogonalIter()) - { - surfaceScalarField mSfGradp("mSfGradp", pEqnIncomp.flux()/rAUf); - - phi = phiHbyA + pEqnIncomp.flux(); - - surfaceScalarField phi1s - ( - phiHbyA1 - + alpharAUf1*mSfGradp - - rAUf1*Kdf*MRF.absolute(phi2) - ); - - surfaceScalarField phi2s - ( - phiHbyA2 - + alpharAUf2*mSfGradp - - rAUf2*Kdf*MRF.absolute(phi1) - ); - - surfaceScalarField phir - ( - ((phi2s + rAUf2*Kdf*phi1s) - (phi1s + rAUf1*Kdf*phi2s)) - /(1.0 - rAUf1*rAUf2*sqr(Kdf)) - ); - - phi1 = phi - alphaf2*phir; - phi2 = phi + alphaf1*phir; - - U1 = fvc::reconstruct(MRF.absolute(phi1)); - U1.correctBoundaryConditions(); - fvOptions.correct(U1); - - U2 = fvc::reconstruct(MRF.absolute(phi2)); - U2.correctBoundaryConditions(); - fvOptions.correct(U2); - - U = fluid.U(); - - fluid.dgdt() = - ( - alpha1*(pEqnComp2 & p_rgh) - - alpha2*(pEqnComp1 & p_rgh) - ); - } - } - - // Update and limit the static pressure - p = max(p_rgh + rho*gh, pMin); - - // Limit p_rgh - p_rgh = p - rho*gh; - - // Update densities from change in p_rgh - rho1 += psi1*(p_rgh - p_rgh_0); - rho2 += psi2*(p_rgh - p_rgh_0); - - // Correct p_rgh for consistency with p and the updated densities - rho = fluid.rho(); - p_rgh = p - rho*gh; - p_rgh.correctBoundaryConditions(); -} - -// Update the phase kinetic energies -K1 = 0.5*magSqr(U1); -K2 = 0.5*magSqr(U2); - -// Update the pressure time-derivative if required -if (thermo1.dpdt() || thermo2.dpdt()) -{ - dpdt = fvc::ddt(p); -} diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/Make/files b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/Make/files deleted file mode 100644 index b6fd9c1a53..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/Make/files +++ /dev/null @@ -1,39 +0,0 @@ -phaseCompressibleMomentumTransportModels.C -phasePressureModel/phasePressureModel.C - -kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.C - -kineticTheoryModels/viscosityModel/viscosityModel/viscosityModel.C -kineticTheoryModels/viscosityModel/viscosityModel/newViscosityModel.C -kineticTheoryModels/viscosityModel/Gidaspow/GidaspowViscosity.C -kineticTheoryModels/viscosityModel/Syamlal/SyamlalViscosity.C -kineticTheoryModels/viscosityModel/HrenyaSinclair/HrenyaSinclairViscosity.C -kineticTheoryModels/viscosityModel/none/noneViscosity.C - -kineticTheoryModels/conductivityModel/conductivityModel/conductivityModel.C -kineticTheoryModels/conductivityModel/conductivityModel/newConductivityModel.C -kineticTheoryModels/conductivityModel/Gidaspow/GidaspowConductivity.C -kineticTheoryModels/conductivityModel/Syamlal/SyamlalConductivity.C -kineticTheoryModels/conductivityModel/HrenyaSinclair/HrenyaSinclairConductivity.C - -kineticTheoryModels/radialModel/radialModel/radialModel.C -kineticTheoryModels/radialModel/radialModel/newRadialModel.C -kineticTheoryModels/radialModel/CarnahanStarling/CarnahanStarlingRadial.C -kineticTheoryModels/radialModel/LunSavage/LunSavageRadial.C -kineticTheoryModels/radialModel/SinclairJackson/SinclairJacksonRadial.C - -kineticTheoryModels/granularPressureModel/granularPressureModel/granularPressureModel.C -kineticTheoryModels/granularPressureModel/granularPressureModel/newGranularPressureModel.C -kineticTheoryModels/granularPressureModel/Lun/LunPressure.C -kineticTheoryModels/granularPressureModel/SyamlalRogersOBrien/SyamlalRogersOBrienPressure.C - -kineticTheoryModels/frictionalStressModel/frictionalStressModel/frictionalStressModel.C -kineticTheoryModels/frictionalStressModel/frictionalStressModel/newFrictionalStressModel.C -kineticTheoryModels/frictionalStressModel/JohnsonJackson/JohnsonJacksonFrictionalStress.C -kineticTheoryModels/frictionalStressModel/Schaeffer/SchaefferFrictionalStress.C -kineticTheoryModels/frictionalStressModel/JohnsonJacksonSchaeffer/JohnsonJacksonSchaefferFrictionalStress.C - -kineticTheoryModels/derivedFvPatchFields/JohnsonJacksonParticleTheta/JohnsonJacksonParticleThetaFvPatchScalarField.C -kineticTheoryModels/derivedFvPatchFields/JohnsonJacksonParticleSlip/JohnsonJacksonParticleSlipFvPatchVectorField.C - -LIB = $(FOAM_LIBBIN)/libphaseCompressibleMomentumTransportModels diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/Make/options b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/Make/options deleted file mode 100644 index 1e5d77538a..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/Make/options +++ /dev/null @@ -1,21 +0,0 @@ -EXE_INC = \ - -I../twoPhaseSystem/lnInclude \ - -I../interfacialModels/lnInclude \ - -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ - -I$(LIB_SRC)/MomentumTransportModels/compressible/lnInclude \ - -I$(LIB_SRC)/MomentumTransportModels/momentumTransportModels/lnInclude \ - -I$(LIB_SRC)/MomentumTransportModels/phaseCompressible/lnInclude \ - -I$(LIB_SRC)/finiteVolume/lnInclude \ - -I$(LIB_SRC)/meshTools/lnInclude - -LIB_LIBS = \ - -lfluidThermophysicalModels \ - -lspecie \ - -lmomentumTransportModels \ - -lfluidThermoMomentumTransportModels \ - -lincompressibleTransportModels \ - -lcompressibleTwoPhaseSystem \ - -lcompressibleEulerianInterfacialModels \ - -lfiniteVolume \ - -lfvOptions \ - -lmeshTools diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/conductivityModel/Gidaspow/GidaspowConductivity.C b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/conductivityModel/Gidaspow/GidaspowConductivity.C deleted file mode 100644 index 9d7c706b19..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/conductivityModel/Gidaspow/GidaspowConductivity.C +++ /dev/null @@ -1,93 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2011-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 "GidaspowConductivity.H" -#include "mathematicalConstants.H" -#include "addToRunTimeSelectionTable.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ -namespace kineticTheoryModels -{ -namespace conductivityModels -{ - defineTypeNameAndDebug(Gidaspow, 0); - - addToRunTimeSelectionTable - ( - conductivityModel, - Gidaspow, - dictionary - ); -} -} -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::kineticTheoryModels::conductivityModels::Gidaspow::Gidaspow -( - const dictionary& dict -) -: - conductivityModel(dict) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::kineticTheoryModels::conductivityModels::Gidaspow::~Gidaspow() -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -Foam::tmp -Foam::kineticTheoryModels::conductivityModels::Gidaspow::kappa -( - const volScalarField& alpha1, - const volScalarField& Theta, - const volScalarField& g0, - const volScalarField& rho1, - const volScalarField& da, - const dimensionedScalar& e -) const -{ - const scalar sqrtPi = sqrt(constant::mathematical::pi); - - return rho1*da*sqrt(Theta)* - ( - 2.0*sqr(alpha1)*g0*(1.0 + e)/sqrtPi - + (9.0/8.0)*sqrtPi*g0*0.5*(1.0 + e)*sqr(alpha1) - + (15.0/16.0)*sqrtPi*alpha1 - + (25.0/64.0)*sqrtPi/((1.0 + e)*g0) - ); -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/conductivityModel/Gidaspow/GidaspowConductivity.H b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/conductivityModel/Gidaspow/GidaspowConductivity.H deleted file mode 100644 index bd5846013a..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/conductivityModel/Gidaspow/GidaspowConductivity.H +++ /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-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 . - -Class - Foam::kineticTheoryModels::conductivityModels::Gidaspow - -Description - -SourceFiles - Gidaspow.C - -\*---------------------------------------------------------------------------*/ - -#ifndef GidaspowConductivity_H -#define GidaspowConductivity_H - -#include "conductivityModel.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ -namespace kineticTheoryModels -{ -namespace conductivityModels -{ - -/*---------------------------------------------------------------------------*\ - Class Gidaspow Declaration -\*---------------------------------------------------------------------------*/ - -class Gidaspow -: - public conductivityModel -{ - -public: - - //- Runtime type information - TypeName("Gidaspow"); - - - // Constructors - - //- Construct from components - Gidaspow(const dictionary& dict); - - - //- Destructor - virtual ~Gidaspow(); - - - // Member Functions - - tmp kappa - ( - const volScalarField& alpha1, - const volScalarField& Theta, - const volScalarField& g0, - const volScalarField& rho1, - const volScalarField& da, - const dimensionedScalar& e - ) const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace conductivityModels -} // End namespace kineticTheoryModels -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/conductivityModel/HrenyaSinclair/HrenyaSinclairConductivity.C b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/conductivityModel/HrenyaSinclair/HrenyaSinclairConductivity.C deleted file mode 100644 index 59b92d87a4..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/conductivityModel/HrenyaSinclair/HrenyaSinclairConductivity.C +++ /dev/null @@ -1,114 +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 "HrenyaSinclairConductivity.H" -#include "mathematicalConstants.H" -#include "addToRunTimeSelectionTable.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ -namespace kineticTheoryModels -{ -namespace conductivityModels -{ - defineTypeNameAndDebug(HrenyaSinclair, 0); - - addToRunTimeSelectionTable - ( - conductivityModel, - HrenyaSinclair, - dictionary - ); -} -} -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::kineticTheoryModels::conductivityModels::HrenyaSinclair::HrenyaSinclair -( - const dictionary& dict -) -: - conductivityModel(dict), - coeffDict_(dict.optionalSubDict(typeName + "Coeffs")), - L_("L", dimensionSet(0, 1, 0, 0, 0), coeffDict_) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::kineticTheoryModels::conductivityModels::HrenyaSinclair:: -~HrenyaSinclair() -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -Foam::tmp -Foam::kineticTheoryModels::conductivityModels::HrenyaSinclair::kappa -( - const volScalarField& alpha1, - const volScalarField& Theta, - const volScalarField& g0, - const volScalarField& rho1, - const volScalarField& da, - const dimensionedScalar& e -) const -{ - const scalar sqrtPi = sqrt(constant::mathematical::pi); - - volScalarField lamda - ( - scalar(1) + da/(6.0*sqrt(2.0)*(alpha1 + scalar(1.0e-5)))/L_ - ); - - return rho1*da*sqrt(Theta)* - ( - 2.0*sqr(alpha1)*g0*(1.0 + e)/sqrtPi - + (9.0/8.0)*sqrtPi*g0*0.25*sqr(1.0 + e)*(2.0*e - 1.0)*sqr(alpha1) - /(49.0/16.0 - 33.0*e/16.0) - + (15.0/16.0)*sqrtPi*alpha1*(0.5*sqr(e) + 0.25*e - 0.75 + lamda) - /((49.0/16.0 - 33.0*e/16.0)*lamda) - + (25.0/64.0)*sqrtPi - /((1.0 + e)*(49.0/16.0 - 33.0*e/16.0)*lamda*g0) - ); -} - - -bool Foam::kineticTheoryModels::conductivityModels::HrenyaSinclair::read() -{ - coeffDict_ <<= dict_.optionalSubDict(typeName + "Coeffs"); - - L_.readIfPresent(coeffDict_); - - return true; -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/conductivityModel/HrenyaSinclair/HrenyaSinclairConductivity.H b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/conductivityModel/HrenyaSinclair/HrenyaSinclairConductivity.H deleted file mode 100644 index 1795d07d5c..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/conductivityModel/HrenyaSinclair/HrenyaSinclairConductivity.H +++ /dev/null @@ -1,104 +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 . - -Class - Foam::kineticTheoryModels::conductivityModels::HrenyaSinclair - -Description - -SourceFiles - HrenyaSinclair.C - -\*---------------------------------------------------------------------------*/ - -#ifndef HrenyaSinclairConductivity_H -#define HrenyaSinclairConductivity_H - -#include "conductivityModel.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ -namespace kineticTheoryModels -{ -namespace conductivityModels -{ - -/*---------------------------------------------------------------------------*\ - Class HrenyaSinclair Declaration -\*---------------------------------------------------------------------------*/ - -class HrenyaSinclair -: - public conductivityModel -{ - dictionary coeffDict_; - - //- Characteristic length of geometry - dimensionedScalar L_; - - -public: - - //- Runtime type information - TypeName("HrenyaSinclair"); - - - // Constructors - - //- Construct from components - HrenyaSinclair(const dictionary& dict); - - - //- Destructor - virtual ~HrenyaSinclair(); - - - // Member Functions - - tmp kappa - ( - const volScalarField& alpha1, - const volScalarField& Theta, - const volScalarField& g0, - const volScalarField& rho1, - const volScalarField& da, - const dimensionedScalar& e - ) const; - - virtual bool read(); -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace conductivityModels -} // End namespace kineticTheoryModels -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/conductivityModel/Syamlal/SyamlalConductivity.C b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/conductivityModel/Syamlal/SyamlalConductivity.C deleted file mode 100644 index 36ad3d2b67..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/conductivityModel/Syamlal/SyamlalConductivity.C +++ /dev/null @@ -1,93 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2011-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 "SyamlalConductivity.H" -#include "mathematicalConstants.H" -#include "addToRunTimeSelectionTable.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ -namespace kineticTheoryModels -{ -namespace conductivityModels -{ - defineTypeNameAndDebug(Syamlal, 0); - - addToRunTimeSelectionTable - ( - conductivityModel, - Syamlal, - dictionary - ); -} -} -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::kineticTheoryModels::conductivityModels::Syamlal::Syamlal -( - const dictionary& dict -) -: - conductivityModel(dict) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::kineticTheoryModels::conductivityModels::Syamlal::~Syamlal() -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -Foam::tmp -Foam::kineticTheoryModels::conductivityModels::Syamlal::kappa -( - const volScalarField& alpha1, - const volScalarField& Theta, - const volScalarField& g0, - const volScalarField& rho1, - const volScalarField& da, - const dimensionedScalar& e -) const -{ - const scalar sqrtPi = sqrt(constant::mathematical::pi); - - return rho1*da*sqrt(Theta)* - ( - 2.0*sqr(alpha1)*g0*(1.0 + e)/sqrtPi - + (9.0/8.0)*sqrtPi*g0*0.25*sqr(1.0 + e)*(2.0*e - 1.0)*sqr(alpha1) - /(49.0/16.0 - 33.0*e/16.0) - + (15.0/32.0)*sqrtPi*alpha1/(49.0/16.0 - 33.0*e/16.0) - ); -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/conductivityModel/Syamlal/SyamlalConductivity.H b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/conductivityModel/Syamlal/SyamlalConductivity.H deleted file mode 100644 index 75f2e8cd6a..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/conductivityModel/Syamlal/SyamlalConductivity.H +++ /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-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 . - -Class - Foam::kineticTheoryModels::conductivityModels::Syamlal - -Description - -SourceFiles - Syamlal.C - -\*---------------------------------------------------------------------------*/ - -#ifndef SyamlalConductivity_H -#define SyamlalConductivity_H - -#include "conductivityModel.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ -namespace kineticTheoryModels -{ -namespace conductivityModels -{ - -/*---------------------------------------------------------------------------*\ - Class Syamlal Declaration -\*---------------------------------------------------------------------------*/ - -class Syamlal -: - public conductivityModel -{ - -public: - - //- Runtime type information - TypeName("Syamlal"); - - - // Constructors - - //- Construct from components - Syamlal(const dictionary& dict); - - - //- Destructor - virtual ~Syamlal(); - - - // Member Functions - - tmp kappa - ( - const volScalarField& alpha1, - const volScalarField& Theta, - const volScalarField& g0, - const volScalarField& rho1, - const volScalarField& da, - const dimensionedScalar& e - ) const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace conductivityModels -} // End namespace kineticTheoryModels -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/conductivityModel/conductivityModel/conductivityModel.C b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/conductivityModel/conductivityModel/conductivityModel.C deleted file mode 100644 index d50703def8..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/conductivityModel/conductivityModel/conductivityModel.C +++ /dev/null @@ -1,58 +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 "conductivityModel.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ -namespace kineticTheoryModels -{ - defineTypeNameAndDebug(conductivityModel, 0); - - defineRunTimeSelectionTable(conductivityModel, dictionary); -} -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::kineticTheoryModels::conductivityModel::conductivityModel -( - const dictionary& dict -) -: - dict_(dict) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::kineticTheoryModels::conductivityModel::~conductivityModel() -{} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/conductivityModel/conductivityModel/conductivityModel.H b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/conductivityModel/conductivityModel/conductivityModel.H deleted file mode 100644 index dad6d78431..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/conductivityModel/conductivityModel/conductivityModel.H +++ /dev/null @@ -1,133 +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 . - -Class - Foam::kineticTheoryModels::conductivityModel - -SourceFiles - conductivityModel.C - -\*---------------------------------------------------------------------------*/ - -#ifndef conductivityModel_H -#define conductivityModel_H - -#include "dictionary.H" -#include "volFields.H" -#include "dimensionedTypes.H" -#include "runTimeSelectionTables.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ -namespace kineticTheoryModels -{ - -/*---------------------------------------------------------------------------*\ - Class conductivityModel Declaration -\*---------------------------------------------------------------------------*/ - -class conductivityModel -{ -protected: - - // Protected data - - const dictionary& dict_; - - -public: - - //- Runtime type information - TypeName("conductivityModel"); - - // Declare runtime constructor selection table - declareRunTimeSelectionTable - ( - autoPtr, - conductivityModel, - dictionary, - ( - const dictionary& dict - ), - (dict) - ); - - - // Constructors - - //- Construct from components - conductivityModel(const dictionary& dict); - - //- Disallow default bitwise copy construction - conductivityModel(const conductivityModel&) = delete; - - - // Selectors - - static autoPtr New - ( - const dictionary& dict - ); - - - //- Destructor - virtual ~conductivityModel(); - - - // Member Functions - - virtual tmp kappa - ( - const volScalarField& alpha1, - const volScalarField& Theta, - const volScalarField& g0, - const volScalarField& rho1, - const volScalarField& da, - const dimensionedScalar& e - ) const = 0; - - virtual bool read() - { - return true; - } - - - // Member Operators - - //- Disallow default bitwise assignment - void operator=(const conductivityModel&) = delete; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace kineticTheoryModels -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/conductivityModel/conductivityModel/newConductivityModel.C b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/conductivityModel/conductivityModel/newConductivityModel.C deleted file mode 100644 index 9a8c6324b2..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/conductivityModel/conductivityModel/newConductivityModel.C +++ /dev/null @@ -1,59 +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 "conductivityModel.H" - -// * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * * // - -Foam::autoPtr -Foam::kineticTheoryModels::conductivityModel::New -( - const dictionary& dict -) -{ - word conductivityModelType(dict.lookup("conductivityModel")); - - Info<< "Selecting conductivityModel " - << conductivityModelType << endl; - - dictionaryConstructorTable::iterator cstrIter = - dictionaryConstructorTablePtr_->find(conductivityModelType); - - if (cstrIter == dictionaryConstructorTablePtr_->end()) - { - FatalError - << "conductivityModel::New(const dictionary&) : " << endl - << " unknown conductivityModelType type " - << conductivityModelType - << ", constructor not in hash table" << endl << endl - << " Valid conductivityModelType types are :" << endl; - Info<< dictionaryConstructorTablePtr_->sortedToc() << abort(FatalError); - } - - return autoPtr(cstrIter()(dict)); -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/derivedFvPatchFields/JohnsonJacksonParticleSlip/JohnsonJacksonParticleSlipFvPatchVectorField.C b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/derivedFvPatchFields/JohnsonJacksonParticleSlip/JohnsonJacksonParticleSlipFvPatchVectorField.C deleted file mode 100644 index 5df9d623d0..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/derivedFvPatchFields/JohnsonJacksonParticleSlip/JohnsonJacksonParticleSlipFvPatchVectorField.C +++ /dev/null @@ -1,253 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2014-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 "JohnsonJacksonParticleSlipFvPatchVectorField.H" -#include "addToRunTimeSelectionTable.H" -#include "twoPhaseSystem.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - makePatchTypeField - ( - fvPatchVectorField, - JohnsonJacksonParticleSlipFvPatchVectorField - ); -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::JohnsonJacksonParticleSlipFvPatchVectorField:: -JohnsonJacksonParticleSlipFvPatchVectorField -( - const fvPatch& p, - const DimensionedField& iF -) -: - partialSlipFvPatchVectorField(p, iF), - specularityCoefficient_("specularityCoefficient", dimless, 0) -{} - - -Foam::JohnsonJacksonParticleSlipFvPatchVectorField:: -JohnsonJacksonParticleSlipFvPatchVectorField -( - const JohnsonJacksonParticleSlipFvPatchVectorField& ptf, - const fvPatch& p, - const DimensionedField& iF, - const fvPatchFieldMapper& mapper -) -: - partialSlipFvPatchVectorField(ptf, p, iF, mapper), - specularityCoefficient_(ptf.specularityCoefficient_) -{} - - -Foam::JohnsonJacksonParticleSlipFvPatchVectorField:: -JohnsonJacksonParticleSlipFvPatchVectorField -( - const fvPatch& p, - const DimensionedField& iF, - const dictionary& dict -) -: - partialSlipFvPatchVectorField(p, iF), - specularityCoefficient_ - ( - "specularityCoefficient", - dimless, - dict.lookup("specularityCoefficient") - ) -{ - if - ( - (specularityCoefficient_.value() < 0) - || (specularityCoefficient_.value() > 1) - ) - { - FatalErrorInFunction - << "The specularity coefficient has to be between 0 and 1" - << abort(FatalError); - } - - fvPatchVectorField::operator= - ( - vectorField("value", dict, p.size()) - ); -} - - -Foam::JohnsonJacksonParticleSlipFvPatchVectorField:: -JohnsonJacksonParticleSlipFvPatchVectorField -( - const JohnsonJacksonParticleSlipFvPatchVectorField& ptf -) -: - partialSlipFvPatchVectorField(ptf), - specularityCoefficient_(ptf.specularityCoefficient_) -{} - - -Foam::JohnsonJacksonParticleSlipFvPatchVectorField:: -JohnsonJacksonParticleSlipFvPatchVectorField -( - const JohnsonJacksonParticleSlipFvPatchVectorField& ptf, - const DimensionedField& iF -) -: - partialSlipFvPatchVectorField(ptf, iF), - specularityCoefficient_(ptf.specularityCoefficient_) -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -void Foam::JohnsonJacksonParticleSlipFvPatchVectorField::autoMap -( - const fvPatchFieldMapper& m -) -{ - partialSlipFvPatchVectorField::autoMap(m); -} - - -void Foam::JohnsonJacksonParticleSlipFvPatchVectorField::rmap -( - const fvPatchVectorField& ptf, - const labelList& addr -) -{ - partialSlipFvPatchVectorField::rmap(ptf, addr); -} - - -void Foam::JohnsonJacksonParticleSlipFvPatchVectorField::updateCoeffs() -{ - if (updated()) - { - return; - } - - // lookup the fluid model and the phase - const twoPhaseSystem& fluid = db().lookupObject - ( - "phaseProperties" - ); - - const phaseModel& phased - ( - fluid.phase1().name() == internalField().group() - ? fluid.phase1() - : fluid.phase2() - ); - - // lookup all the fields on this patch - const fvPatchScalarField& alpha - ( - patch().lookupPatchField - ( - phased.volScalarField::name() - ) - ); - - const fvPatchScalarField& gs0 - ( - patch().lookupPatchField - ( - IOobject::groupName("gs0", phased.name()) - ) - ); - - const scalarField nu - ( - patch().lookupPatchField - ( - IOobject::groupName("nut", phased.name()) - ) - ); - - const scalarField nuFric - ( - patch().lookupPatchField - ( - IOobject::groupName("nuFric", phased.name()) - ) - ); - - word ThetaName(IOobject::groupName("Theta", phased.name())); - - const fvPatchScalarField& Theta - ( - db().foundObject(ThetaName) - ? patch().lookupPatchField(ThetaName) - : alpha - ); - - // lookup the packed volume fraction - dimensionedScalar alphaMax - ( - "alphaMax", - dimless, - db() - .lookupObject - ( - IOobject::groupName("momentumTransport", phased.name()) - ) - .subDict("RAS") - .subDict("kineticTheoryCoeffs") - .lookup("alphaMax") - ); - - // calculate the slip value fraction - scalarField c - ( - constant::mathematical::pi - *alpha - *gs0 - *specularityCoefficient_.value() - *sqrt(3.0*Theta) - /max(6.0*(nu - nuFric)*alphaMax.value(), small) - ); - - this->valueFraction() = c/(c + patch().deltaCoeffs()); - - partialSlipFvPatchVectorField::updateCoeffs(); -} - - -void Foam::JohnsonJacksonParticleSlipFvPatchVectorField::write -( - Ostream& os -) const -{ - fvPatchVectorField::write(os); - writeEntry(os, "specularityCoefficient", specularityCoefficient_); - writeEntry(os, "value", *this); -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/derivedFvPatchFields/JohnsonJacksonParticleSlip/JohnsonJacksonParticleSlipFvPatchVectorField.H b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/derivedFvPatchFields/JohnsonJacksonParticleSlip/JohnsonJacksonParticleSlipFvPatchVectorField.H deleted file mode 100644 index 3a4bd76c37..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/derivedFvPatchFields/JohnsonJacksonParticleSlip/JohnsonJacksonParticleSlipFvPatchVectorField.H +++ /dev/null @@ -1,173 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2014-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 . - -Class - Foam::JohnsonJacksonParticleSlipFvPatchVectorField - -Description - Partial slip boundary condition for the particulate velocity. - - References: - \verbatim - "Multifluid Eulerian modeling of dense gas–solids fluidized bed - hydrodynamics: Influence of the dissipation parameters" - Reuge, N., - Chemical Engineering Science - Volume 63, Issue 22, November 2008, pp. 5540-5551 - \endverbatim - - \verbatim - "Frictional-collisional constitutive relations for granular materials, - with application to plane shearing" - Johnson, P.C., and Jackson, R., - Journal of Fluid Mechanics - Volume 176, March 1987, pp. 67-93 - \endverbatim - -SourceFiles - JohnsonJacksonParticleSlipFvPatchVectorField.C - -\*---------------------------------------------------------------------------*/ - -#ifndef JohnsonJacksonParticleSlipFvPatchVectorField_H -#define JohnsonJacksonParticleSlipFvPatchVectorField_H - -#include "partialSlipFvPatchFields.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -/*---------------------------------------------------------------------------*\ - Class JohnsonJacksonParticleSlipFvPatchVectorField Declaration -\*---------------------------------------------------------------------------*/ - -class JohnsonJacksonParticleSlipFvPatchVectorField -: - public partialSlipFvPatchVectorField -{ - // Private Data - - //- Specularity coefficient - dimensionedScalar specularityCoefficient_; - - -public: - - //- Runtime type information - TypeName("JohnsonJacksonParticleSlip"); - - - // Constructors - - //- Construct from patch and internal field - JohnsonJacksonParticleSlipFvPatchVectorField - ( - const fvPatch&, - const DimensionedField& - ); - - //- Construct from patch, internal field and dictionary - JohnsonJacksonParticleSlipFvPatchVectorField - ( - const fvPatch&, - const DimensionedField&, - const dictionary& - ); - - //- Construct by mapping onto a new patch - JohnsonJacksonParticleSlipFvPatchVectorField - ( - const JohnsonJacksonParticleSlipFvPatchVectorField&, - const fvPatch&, - const DimensionedField&, - const fvPatchFieldMapper& - ); - - //- Copy constructor - JohnsonJacksonParticleSlipFvPatchVectorField - ( - const JohnsonJacksonParticleSlipFvPatchVectorField& - ); - - //- Construct and return a clone - virtual tmp clone() const - { - return tmp - ( - new JohnsonJacksonParticleSlipFvPatchVectorField(*this) - ); - } - - //- Copy constructor setting internal field reference - JohnsonJacksonParticleSlipFvPatchVectorField - ( - const JohnsonJacksonParticleSlipFvPatchVectorField&, - const DimensionedField& - ); - - //- Construct and return a clone setting internal field reference - virtual tmp clone - ( - const DimensionedField& iF - ) const - { - return tmp - ( - new JohnsonJacksonParticleSlipFvPatchVectorField(*this, iF) - ); - } - - - // Member Functions - - // Mapping functions - - //- Map (and resize as needed) from self given a mapping object - // Used to update fields following mesh topology change - virtual void autoMap(const fvPatchFieldMapper&); - - //- Reverse map the given fvPatchField onto this fvPatchField - // Used to reconstruct fields - virtual void rmap(const fvPatchVectorField&, const labelList&); - - - //- Update the coefficients - virtual void updateCoeffs(); - - //- Write - virtual void write(Ostream&) const; - -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/derivedFvPatchFields/JohnsonJacksonParticleTheta/JohnsonJacksonParticleThetaFvPatchScalarField.C b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/derivedFvPatchFields/JohnsonJacksonParticleTheta/JohnsonJacksonParticleThetaFvPatchScalarField.C deleted file mode 100644 index 4d1d2bc15f..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/derivedFvPatchFields/JohnsonJacksonParticleTheta/JohnsonJacksonParticleThetaFvPatchScalarField.C +++ /dev/null @@ -1,298 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2014-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 "JohnsonJacksonParticleThetaFvPatchScalarField.H" -#include "addToRunTimeSelectionTable.H" -#include "twoPhaseSystem.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - makePatchTypeField - ( - fvPatchScalarField, - JohnsonJacksonParticleThetaFvPatchScalarField - ); -} - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -Foam::JohnsonJacksonParticleThetaFvPatchScalarField:: -JohnsonJacksonParticleThetaFvPatchScalarField -( - const fvPatch& p, - const DimensionedField& iF -) -: - mixedFvPatchScalarField(p, iF), - restitutionCoefficient_("restitutionCoefficient", dimless, 0), - specularityCoefficient_("specularityCoefficient", dimless, 0) -{} - - -Foam::JohnsonJacksonParticleThetaFvPatchScalarField:: -JohnsonJacksonParticleThetaFvPatchScalarField -( - const JohnsonJacksonParticleThetaFvPatchScalarField& ptf, - const fvPatch& p, - const DimensionedField& iF, - const fvPatchFieldMapper& mapper -) -: - mixedFvPatchScalarField(ptf, p, iF, mapper), - restitutionCoefficient_(ptf.restitutionCoefficient_), - specularityCoefficient_(ptf.specularityCoefficient_) -{ -} - - -Foam::JohnsonJacksonParticleThetaFvPatchScalarField:: -JohnsonJacksonParticleThetaFvPatchScalarField -( - const fvPatch& p, - const DimensionedField& iF, - const dictionary& dict -) -: - mixedFvPatchScalarField(p, iF), - restitutionCoefficient_ - ( - "restitutionCoefficient", - dimless, - dict.lookup("restitutionCoefficient") - ), - specularityCoefficient_ - ( - "specularityCoefficient", - dimless, - dict.lookup("specularityCoefficient") - ) -{ - if - ( - (restitutionCoefficient_.value() < 0) - || (restitutionCoefficient_.value() > 1) - ) - { - FatalErrorInFunction - << "The restitution coefficient has to be between 0 and 1" - << abort(FatalError); - } - - if - ( - (specularityCoefficient_.value() < 0) - || (specularityCoefficient_.value() > 1) - ) - { - FatalErrorInFunction - << "The specularity coefficient has to be between 0 and 1" - << abort(FatalError); - } - - fvPatchScalarField::operator= - ( - scalarField("value", dict, p.size()) - ); -} - - -Foam::JohnsonJacksonParticleThetaFvPatchScalarField:: -JohnsonJacksonParticleThetaFvPatchScalarField -( - const JohnsonJacksonParticleThetaFvPatchScalarField& ptf -) -: - mixedFvPatchScalarField(ptf), - restitutionCoefficient_(ptf.restitutionCoefficient_), - specularityCoefficient_(ptf.specularityCoefficient_) -{} - - -Foam::JohnsonJacksonParticleThetaFvPatchScalarField:: -JohnsonJacksonParticleThetaFvPatchScalarField -( - const JohnsonJacksonParticleThetaFvPatchScalarField& ptf, - const DimensionedField& iF -) -: - mixedFvPatchScalarField(ptf, iF), - restitutionCoefficient_(ptf.restitutionCoefficient_), - specularityCoefficient_(ptf.specularityCoefficient_) -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -void Foam::JohnsonJacksonParticleThetaFvPatchScalarField::autoMap -( - const fvPatchFieldMapper& m -) -{ - mixedFvPatchScalarField::autoMap(m); -} - - -void Foam::JohnsonJacksonParticleThetaFvPatchScalarField::rmap -( - const fvPatchScalarField& ptf, - const labelList& addr -) -{ - mixedFvPatchScalarField::rmap(ptf, addr); -} - - -void Foam::JohnsonJacksonParticleThetaFvPatchScalarField::updateCoeffs() -{ - if (updated()) - { - return; - } - - // lookup the fluid model and the phase - const twoPhaseSystem& fluid = db().lookupObject - ( - "phaseProperties" - ); - - const phaseModel& phased - ( - fluid.phase1().name() == internalField().group() - ? fluid.phase1() - : fluid.phase2() - ); - - // lookup all the fields on this patch - const fvPatchScalarField& alpha - ( - patch().lookupPatchField - ( - phased.volScalarField::name() - ) - ); - - const fvPatchVectorField& U - ( - patch().lookupPatchField - ( - IOobject::groupName("U", phased.name()) - ) - ); - - const fvPatchScalarField& gs0 - ( - patch().lookupPatchField - ( - IOobject::groupName("gs0", phased.name()) - ) - ); - - const fvPatchScalarField& kappa - ( - patch().lookupPatchField - ( - IOobject::groupName("kappa", phased.name()) - ) - ); - - const scalarField Theta(patchInternalField()); - - // lookup the packed volume fraction - dimensionedScalar alphaMax - ( - "alphaMax", - dimless, - db() - .lookupObject - ( - IOobject::groupName("momentumTransport", phased.name()) - ) - .subDict("RAS") - .subDict("kineticTheoryCoeffs") - .lookup("alphaMax") - ); - - // calculate the reference value and the value fraction - if (restitutionCoefficient_.value() != 1.0) - { - this->refValue() = - (2.0/3.0) - *specularityCoefficient_.value() - *magSqr(U) - /(scalar(1) - sqr(restitutionCoefficient_.value())); - - this->refGrad() = 0.0; - - scalarField c - ( - constant::mathematical::pi - *alpha - *gs0 - *(scalar(1) - sqr(restitutionCoefficient_.value())) - *sqrt(3.0*Theta) - /max(4.0*kappa*alphaMax.value(), small) - ); - - this->valueFraction() = c/(c + patch().deltaCoeffs()); - } - - // for a restitution coefficient of 1, the boundary degenerates to a fixed - // gradient condition - else - { - this->refValue() = 0.0; - - this->refGrad() = - pos0(alpha - small) - *constant::mathematical::pi - *specularityCoefficient_.value() - *alpha - *gs0 - *sqrt(3.0*Theta) - *magSqr(U) - /max(6.0*kappa*alphaMax.value(), small); - - this->valueFraction() = 0.0; - } - - mixedFvPatchScalarField::updateCoeffs(); -} - - -void Foam::JohnsonJacksonParticleThetaFvPatchScalarField::write -( - Ostream& os -) const -{ - fvPatchScalarField::write(os); - writeEntry(os, "restitutionCoefficient", restitutionCoefficient_); - writeEntry(os, "specularityCoefficient", specularityCoefficient_); - writeEntry(os, "value", *this); -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/derivedFvPatchFields/JohnsonJacksonParticleTheta/JohnsonJacksonParticleThetaFvPatchScalarField.H b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/derivedFvPatchFields/JohnsonJacksonParticleTheta/JohnsonJacksonParticleThetaFvPatchScalarField.H deleted file mode 100644 index 3f0da18966..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/derivedFvPatchFields/JohnsonJacksonParticleTheta/JohnsonJacksonParticleThetaFvPatchScalarField.H +++ /dev/null @@ -1,175 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2014-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 . - -Class - Foam::JohnsonJacksonParticleThetaFvPatchScalarField - -Description - Robin condition for the particulate granular temperature. - - References: - \verbatim - "Multifluid Eulerian modeling of dense gas–solids fluidized bed - hydrodynamics: Influence of the dissipation parameters" - Reuge, N., - Chemical Engineering Science - Volume 63, Issue 22, November 2008, pp. 5540-5551 - \endverbatim - - \verbatim - "Frictional-collisional constitutive relations for granular materials, - with application to plane shearing" - Johnson, P.C., and Jackson, R., - Journal of Fluid Mechanics - Volume 176, March 1987, pp. 67-93 - \endverbatim - -SourceFiles - JohnsonJacksonParticleThetaFvPatchScalarField.C - -\*---------------------------------------------------------------------------*/ - -#ifndef JohnsonJacksonParticleThetaFvPatchScalarField_H -#define JohnsonJacksonParticleThetaFvPatchScalarField_H - -#include "mixedFvPatchFields.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -/*---------------------------------------------------------------------------*\ - Class JohnsonJacksonParticleThetaFvPatchScalarField Declaration -\*---------------------------------------------------------------------------*/ - -class JohnsonJacksonParticleThetaFvPatchScalarField -: - public mixedFvPatchScalarField -{ - // Private Data - - //- Particle-wall restitution coefficient - dimensionedScalar restitutionCoefficient_; - - //- Specularity coefficient - dimensionedScalar specularityCoefficient_; - - -public: - - //- Runtime type information - TypeName("JohnsonJacksonParticleTheta"); - - - // Constructors - - //- Construct from patch and internal field - JohnsonJacksonParticleThetaFvPatchScalarField - ( - const fvPatch&, - const DimensionedField& - ); - - //- Construct from patch, internal field and dictionary - JohnsonJacksonParticleThetaFvPatchScalarField - ( - const fvPatch&, - const DimensionedField&, - const dictionary& - ); - - //- Construct by mapping onto a new patch - JohnsonJacksonParticleThetaFvPatchScalarField - ( - const JohnsonJacksonParticleThetaFvPatchScalarField&, - const fvPatch&, - const DimensionedField&, - const fvPatchFieldMapper& - ); - - //- Copy constructor - JohnsonJacksonParticleThetaFvPatchScalarField - ( - const JohnsonJacksonParticleThetaFvPatchScalarField& - ); - - //- Construct and return a clone - virtual tmp clone() const - { - return tmp - ( - new JohnsonJacksonParticleThetaFvPatchScalarField(*this) - ); - } - - //- Copy constructor setting internal field reference - JohnsonJacksonParticleThetaFvPatchScalarField - ( - const JohnsonJacksonParticleThetaFvPatchScalarField&, - const DimensionedField& - ); - - //- Construct and return a clone setting internal field reference - virtual tmp clone - ( - const DimensionedField& iF - ) const - { - return tmp - ( - new JohnsonJacksonParticleThetaFvPatchScalarField(*this, iF) - ); - } - - - // Member Functions - - // Mapping functions - - //- Map (and resize as needed) from self given a mapping object - // Used to update fields following mesh topology change - virtual void autoMap(const fvPatchFieldMapper&); - - //- Reverse map the given fvPatchField onto this fvPatchField - // Used to reconstruct fields - virtual void rmap(const fvPatchScalarField&, const labelList&); - - - //- Update the coefficients - virtual void updateCoeffs(); - - //- Write - virtual void write(Ostream&) const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/frictionalStressModel/JohnsonJackson/JohnsonJacksonFrictionalStress.C b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/frictionalStressModel/JohnsonJackson/JohnsonJacksonFrictionalStress.C deleted file mode 100644 index 083d2955c3..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/frictionalStressModel/JohnsonJackson/JohnsonJacksonFrictionalStress.C +++ /dev/null @@ -1,148 +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 "JohnsonJacksonFrictionalStress.H" -#include "addToRunTimeSelectionTable.H" -#include "mathematicalConstants.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ -namespace kineticTheoryModels -{ -namespace frictionalStressModels -{ - defineTypeNameAndDebug(JohnsonJackson, 0); - - addToRunTimeSelectionTable - ( - frictionalStressModel, - JohnsonJackson, - dictionary - ); -} -} -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::kineticTheoryModels::frictionalStressModels::JohnsonJackson:: -JohnsonJackson -( - const dictionary& dict -) -: - frictionalStressModel(dict), - coeffDict_(dict.optionalSubDict(typeName + "Coeffs")), - Fr_("Fr", dimensionSet(1, -1, -2, 0, 0), coeffDict_), - eta_("eta", dimless, coeffDict_), - p_("p", dimless, coeffDict_), - phi_("phi", dimless, coeffDict_), - alphaDeltaMin_("alphaDeltaMin", dimless, coeffDict_) -{ - phi_ *= constant::mathematical::pi/180.0; -} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::kineticTheoryModels::frictionalStressModels::JohnsonJackson:: -~JohnsonJackson() -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -Foam::tmp -Foam::kineticTheoryModels::frictionalStressModels::JohnsonJackson:: -frictionalPressure -( - const phaseModel& phase, - const dimensionedScalar& alphaMinFriction, - const dimensionedScalar& alphaMax -) const -{ - const volScalarField& alpha = phase; - - return - Fr_*pow(max(alpha - alphaMinFriction, scalar(0)), eta_) - /pow(max(alphaMax - alpha, alphaDeltaMin_), p_); -} - - -Foam::tmp -Foam::kineticTheoryModels::frictionalStressModels::JohnsonJackson:: -frictionalPressurePrime -( - const phaseModel& phase, - const dimensionedScalar& alphaMinFriction, - const dimensionedScalar& alphaMax -) const -{ - const volScalarField& alpha = phase; - - return Fr_* - ( - eta_*pow(max(alpha - alphaMinFriction, scalar(0)), eta_ - 1.0) - *(alphaMax-alpha) - + p_*pow(max(alpha - alphaMinFriction, scalar(0)), eta_) - )/pow(max(alphaMax - alpha, alphaDeltaMin_), p_ + 1.0); -} - - -Foam::tmp -Foam::kineticTheoryModels::frictionalStressModels::JohnsonJackson::nu -( - const phaseModel& phase, - const dimensionedScalar& alphaMinFriction, - const dimensionedScalar& alphaMax, - const volScalarField& pf, - const volSymmTensorField& D -) const -{ - return dimensionedScalar(dimTime, 0.5)*pf*sin(phi_); -} - - -bool Foam::kineticTheoryModels::frictionalStressModels::JohnsonJackson::read() -{ - coeffDict_ <<= dict_.optionalSubDict(typeName + "Coeffs"); - - Fr_.read(coeffDict_); - eta_.read(coeffDict_); - p_.read(coeffDict_); - - phi_.read(coeffDict_); - phi_ *= constant::mathematical::pi/180.0; - - alphaDeltaMin_.read(coeffDict_); - - return true; -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/frictionalStressModel/JohnsonJackson/JohnsonJacksonFrictionalStress.H b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/frictionalStressModel/JohnsonJackson/JohnsonJacksonFrictionalStress.H deleted file mode 100644 index 7641560903..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/frictionalStressModel/JohnsonJackson/JohnsonJacksonFrictionalStress.H +++ /dev/null @@ -1,131 +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 . - -Class - Foam::kineticTheoryModels::frictionalStressModels::JohnsonJackson - -Description - -SourceFiles - JohnsonJacksonFrictionalStress.C - -\*---------------------------------------------------------------------------*/ - -#ifndef JohnsonJacksonFrictionalStress_H -#define JohnsonJacksonFrictionalStress_H - -#include "frictionalStressModel.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ -namespace kineticTheoryModels -{ -namespace frictionalStressModels -{ - -/*---------------------------------------------------------------------------*\ - Class JohnsonJackson Declaration -\*---------------------------------------------------------------------------*/ - -class JohnsonJackson -: - public frictionalStressModel -{ - // Private Data - - dictionary coeffDict_; - - //- Material constant for frictional normal stress - dimensionedScalar Fr_; - - //- Material constant for frictional normal stress - dimensionedScalar eta_; - - //- Material constant for frictional normal stress - dimensionedScalar p_; - - //- Angle of internal friction - dimensionedScalar phi_; - - //- Lower limit for (alphaMax - alpha1) - dimensionedScalar alphaDeltaMin_; - - -public: - - //- Runtime type information - TypeName("JohnsonJackson"); - - - // Constructors - - //- Construct from components - JohnsonJackson(const dictionary& dict); - - - //- Destructor - virtual ~JohnsonJackson(); - - - // Member Functions - - virtual tmp frictionalPressure - ( - const phaseModel& phase, - const dimensionedScalar& alphaMinFriction, - const dimensionedScalar& alphaMax - ) const; - - virtual tmp frictionalPressurePrime - ( - const phaseModel& phase, - const dimensionedScalar& alphaMinFriction, - const dimensionedScalar& alphaMax - ) const; - - virtual tmp nu - ( - const phaseModel& phase, - const dimensionedScalar& alphaMinFriction, - const dimensionedScalar& alphaMax, - const volScalarField& pf, - const volSymmTensorField& D - ) const; - - virtual bool read(); -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace frictionalStressModels -} // End namespace kineticTheoryModels -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/frictionalStressModel/JohnsonJacksonSchaeffer/JohnsonJacksonSchaefferFrictionalStress.C b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/frictionalStressModel/JohnsonJacksonSchaeffer/JohnsonJacksonSchaefferFrictionalStress.C deleted file mode 100644 index 0829e4fb21..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/frictionalStressModel/JohnsonJacksonSchaeffer/JohnsonJacksonSchaefferFrictionalStress.C +++ /dev/null @@ -1,200 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2016-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 "JohnsonJacksonSchaefferFrictionalStress.H" -#include "addToRunTimeSelectionTable.H" -#include "mathematicalConstants.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ -namespace kineticTheoryModels -{ -namespace frictionalStressModels -{ - defineTypeNameAndDebug(JohnsonJacksonSchaeffer, 0); - - addToRunTimeSelectionTable - ( - frictionalStressModel, - JohnsonJacksonSchaeffer, - dictionary - ); -} -} -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::kineticTheoryModels::frictionalStressModels:: -JohnsonJacksonSchaeffer::JohnsonJacksonSchaeffer -( - const dictionary& dict -) -: - frictionalStressModel(dict), - coeffDict_(dict.optionalSubDict(typeName + "Coeffs")), - Fr_("Fr", dimensionSet(1, -1, -2, 0, 0), coeffDict_), - eta_("eta", dimless, coeffDict_), - p_("p", dimless, coeffDict_), - phi_("phi", dimless, coeffDict_), - alphaDeltaMin_("alphaDeltaMin", dimless, coeffDict_) -{ - phi_ *= constant::mathematical::pi/180.0; -} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::kineticTheoryModels::frictionalStressModels:: -JohnsonJacksonSchaeffer::~JohnsonJacksonSchaeffer() -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -Foam::tmp -Foam::kineticTheoryModels::frictionalStressModels:: -JohnsonJacksonSchaeffer::frictionalPressure -( - const phaseModel& phase, - const dimensionedScalar& alphaMinFriction, - const dimensionedScalar& alphaMax -) const -{ - const volScalarField& alpha = phase; - - return - Fr_*pow(max(alpha - alphaMinFriction, scalar(0)), eta_) - /pow(max(alphaMax - alpha, alphaDeltaMin_), p_); -} - - -Foam::tmp -Foam::kineticTheoryModels::frictionalStressModels:: -JohnsonJacksonSchaeffer::frictionalPressurePrime -( - const phaseModel& phase, - const dimensionedScalar& alphaMinFriction, - const dimensionedScalar& alphaMax -) const -{ - const volScalarField& alpha = phase; - - return Fr_* - ( - eta_*pow(max(alpha - alphaMinFriction, scalar(0)), eta_ - 1.0) - *(alphaMax-alpha) - + p_*pow(max(alpha - alphaMinFriction, scalar(0)), eta_) - )/pow(max(alphaMax - alpha, alphaDeltaMin_), p_ + 1.0); -} - - -Foam::tmp -Foam::kineticTheoryModels::frictionalStressModels:: -JohnsonJacksonSchaeffer::nu -( - const phaseModel& phase, - const dimensionedScalar& alphaMinFriction, - const dimensionedScalar& alphaMax, - const volScalarField& pf, - const volSymmTensorField& D -) const -{ - const volScalarField& alpha = phase; - - tmp tnu - ( - volScalarField::New - ( - "JohnsonJacksonSchaeffer:nu", - phase.mesh(), - dimensionedScalar(dimensionSet(0, 2, -1, 0, 0), 0) - ) - ); - - volScalarField& nuf = tnu.ref(); - - forAll(D, celli) - { - if (alpha[celli] > alphaMinFriction.value()) - { - nuf[celli] = - 0.5*pf[celli]*sin(phi_.value()) - /( - sqrt((1.0/3.0)*sqr(tr(D[celli])) - invariantII(D[celli])) - + small - ); - } - } - - const fvPatchList& patches = phase.mesh().boundary(); - const volVectorField& U = phase.U(); - - volScalarField::Boundary& nufBf = nuf.boundaryFieldRef(); - - forAll(patches, patchi) - { - if (!patches[patchi].coupled()) - { - nufBf[patchi] = - ( - pf.boundaryField()[patchi]*sin(phi_.value()) - /( - mag(U.boundaryField()[patchi].snGrad()) - + small - ) - ); - } - } - - // Correct coupled BCs - nuf.correctBoundaryConditions(); - - return tnu; -} - - -bool Foam::kineticTheoryModels::frictionalStressModels:: -JohnsonJacksonSchaeffer::read() -{ - coeffDict_ <<= dict_.optionalSubDict(typeName + "Coeffs"); - - Fr_.read(coeffDict_); - eta_.read(coeffDict_); - p_.read(coeffDict_); - - phi_.read(coeffDict_); - phi_ *= constant::mathematical::pi/180.0; - - alphaDeltaMin_.read(coeffDict_); - - return true; -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/frictionalStressModel/JohnsonJacksonSchaeffer/JohnsonJacksonSchaefferFrictionalStress.H b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/frictionalStressModel/JohnsonJacksonSchaeffer/JohnsonJacksonSchaefferFrictionalStress.H deleted file mode 100644 index dfc177d45d..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/frictionalStressModel/JohnsonJacksonSchaeffer/JohnsonJacksonSchaefferFrictionalStress.H +++ /dev/null @@ -1,131 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2016-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 . - -Class - Foam::kineticTheoryModels::frictionalStressModels::JohnsonJacksonSchaeffer - -Description - -SourceFiles - JohnsonJacksonSchaefferFrictionalStress.C - -\*---------------------------------------------------------------------------*/ - -#ifndef JohnsonJacksonSchaefferFrictionalStress_H -#define JohnsonJacksonSchaefferFrictionalStress_H - -#include "frictionalStressModel.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ -namespace kineticTheoryModels -{ -namespace frictionalStressModels -{ - -/*---------------------------------------------------------------------------*\ - Class JohnsonJacksonSchaeffer Declaration -\*---------------------------------------------------------------------------*/ - -class JohnsonJacksonSchaeffer -: - public frictionalStressModel -{ - // Private Data - - dictionary coeffDict_; - - //- Material constant for frictional normal stress - dimensionedScalar Fr_; - - //- Material constant for frictional normal stress - dimensionedScalar eta_; - - //- Material constant for frictional normal stress - dimensionedScalar p_; - - //- Angle of internal friction - dimensionedScalar phi_; - - //- Lower limit for (alphaMax - alpha1) - dimensionedScalar alphaDeltaMin_; - - -public: - - //- Runtime type information - TypeName("JohnsonJacksonSchaeffer"); - - - // Constructors - - //- Construct from components - JohnsonJacksonSchaeffer(const dictionary& dict); - - - //- Destructor - virtual ~JohnsonJacksonSchaeffer(); - - - // Member Functions - - virtual tmp frictionalPressure - ( - const phaseModel& phase, - const dimensionedScalar& alphaMinFriction, - const dimensionedScalar& alphaMax - ) const; - - virtual tmp frictionalPressurePrime - ( - const phaseModel& phase, - const dimensionedScalar& alphaMinFriction, - const dimensionedScalar& alphaMax - ) const; - - virtual tmp nu - ( - const phaseModel& phase, - const dimensionedScalar& alphaMinFriction, - const dimensionedScalar& alphaMax, - const volScalarField& pf, - const volSymmTensorField& D - ) const; - - virtual bool read(); -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace frictionalStressModels -} // End namespace kineticTheoryModels -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/frictionalStressModel/Schaeffer/SchaefferFrictionalStress.C b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/frictionalStressModel/Schaeffer/SchaefferFrictionalStress.C deleted file mode 100644 index c05e5a7f4e..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/frictionalStressModel/Schaeffer/SchaefferFrictionalStress.C +++ /dev/null @@ -1,182 +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 "SchaefferFrictionalStress.H" -#include "addToRunTimeSelectionTable.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ -namespace kineticTheoryModels -{ -namespace frictionalStressModels -{ - defineTypeNameAndDebug(Schaeffer, 0); - - addToRunTimeSelectionTable - ( - frictionalStressModel, - Schaeffer, - dictionary - ); -} -} -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::kineticTheoryModels::frictionalStressModels::Schaeffer::Schaeffer -( - const dictionary& dict -) -: - frictionalStressModel(dict), - coeffDict_(dict.optionalSubDict(typeName + "Coeffs")), - phi_("phi", dimless, coeffDict_) -{ - phi_ *= constant::mathematical::pi/180.0; -} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::kineticTheoryModels::frictionalStressModels::Schaeffer::~Schaeffer() -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -Foam::tmp -Foam::kineticTheoryModels::frictionalStressModels::Schaeffer:: -frictionalPressure -( - const phaseModel& phase, - const dimensionedScalar& alphaMinFriction, - const dimensionedScalar& alphaMax -) const -{ - const volScalarField& alpha = phase; - - return - dimensionedScalar(dimensionSet(1, -1, -2, 0, 0), 1e24) - *pow(Foam::max(alpha - alphaMinFriction, scalar(0)), 10.0); -} - - -Foam::tmp -Foam::kineticTheoryModels::frictionalStressModels::Schaeffer:: -frictionalPressurePrime -( - const phaseModel& phase, - const dimensionedScalar& alphaMinFriction, - const dimensionedScalar& alphaMax -) const -{ - const volScalarField& alpha = phase; - - return - dimensionedScalar(dimensionSet(1, -1, -2, 0, 0), 1e25) - *pow(Foam::max(alpha - alphaMinFriction, scalar(0)), 9.0); -} - - -Foam::tmp -Foam::kineticTheoryModels::frictionalStressModels::Schaeffer::nu -( - const phaseModel& phase, - const dimensionedScalar& alphaMinFriction, - const dimensionedScalar& alphaMax, - const volScalarField& pf, - const volSymmTensorField& D -) const -{ - const volScalarField& alpha = phase; - - tmp tnu - ( - volScalarField::New - ( - "Schaeffer:nu", - phase.mesh(), - dimensionedScalar(dimensionSet(0, 2, -1, 0, 0), 0) - ) - ); - - volScalarField& nuf = tnu.ref(); - - forAll(D, celli) - { - if (alpha[celli] > alphaMinFriction.value()) - { - nuf[celli] = - 0.5*pf[celli]*sin(phi_.value()) - /( - sqrt((1.0/3.0)*sqr(tr(D[celli])) - invariantII(D[celli])) - + small - ); - } - } - - const fvPatchList& patches = phase.mesh().boundary(); - const volVectorField& U = phase.U(); - - volScalarField::Boundary& nufBf = nuf.boundaryFieldRef(); - - forAll(patches, patchi) - { - if (!patches[patchi].coupled()) - { - nufBf[patchi] = - ( - pf.boundaryField()[patchi]*sin(phi_.value()) - /( - mag(U.boundaryField()[patchi].snGrad()) - + small - ) - ); - } - } - - // Correct coupled BCs - nuf.correctBoundaryConditions(); - - return tnu; -} - - -bool Foam::kineticTheoryModels::frictionalStressModels::Schaeffer::read() -{ - coeffDict_ <<= dict_.optionalSubDict(typeName + "Coeffs"); - - phi_.read(coeffDict_); - phi_ *= constant::mathematical::pi/180.0; - - return true; -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/frictionalStressModel/Schaeffer/SchaefferFrictionalStress.H b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/frictionalStressModel/Schaeffer/SchaefferFrictionalStress.H deleted file mode 100644 index fca2efe8a1..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/frictionalStressModel/Schaeffer/SchaefferFrictionalStress.H +++ /dev/null @@ -1,119 +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 . - -Class - Foam::kineticTheoryModels::frictionalStressModels::Schaeffer - -Description - -SourceFiles - SchaefferFrictionalStress.C - -\*---------------------------------------------------------------------------*/ - -#ifndef SchaefferFrictionalStress_H -#define SchaefferFrictionalStress_H - -#include "frictionalStressModel.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ -namespace kineticTheoryModels -{ -namespace frictionalStressModels -{ - -/*---------------------------------------------------------------------------*\ - Class Schaeffer Declaration -\*---------------------------------------------------------------------------*/ - -class Schaeffer -: - public frictionalStressModel -{ - // Private Data - - dictionary coeffDict_; - - //- Angle of internal friction - dimensionedScalar phi_; - - -public: - - //- Runtime type information - TypeName("Schaeffer"); - - - // Constructors - - //- Construct from components - Schaeffer(const dictionary& dict); - - - //- Destructor - virtual ~Schaeffer(); - - - // Member Functions - - virtual tmp frictionalPressure - ( - const phaseModel& phase, - const dimensionedScalar& alphaMinFriction, - const dimensionedScalar& alphaMax - ) const; - - virtual tmp frictionalPressurePrime - ( - const phaseModel& phase, - const dimensionedScalar& alphaMinFriction, - const dimensionedScalar& alphaMax - ) const; - - virtual tmp nu - ( - const phaseModel& phase, - const dimensionedScalar& alphaMinFriction, - const dimensionedScalar& alphaMax, - const volScalarField& pf, - const volSymmTensorField& D - ) const; - - virtual bool read(); -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace frictionalStressModels -} // End namespace kineticTheoryModels -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/frictionalStressModel/frictionalStressModel/frictionalStressModel.C b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/frictionalStressModel/frictionalStressModel/frictionalStressModel.C deleted file mode 100644 index 1a1659c474..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/frictionalStressModel/frictionalStressModel/frictionalStressModel.C +++ /dev/null @@ -1,58 +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 "frictionalStressModel.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ -namespace kineticTheoryModels -{ - defineTypeNameAndDebug(frictionalStressModel, 0); - - defineRunTimeSelectionTable(frictionalStressModel, dictionary); -} -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::kineticTheoryModels::frictionalStressModel::frictionalStressModel -( - const dictionary& dict -) -: - dict_(dict) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::kineticTheoryModels::frictionalStressModel::~frictionalStressModel() -{} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/frictionalStressModel/frictionalStressModel/frictionalStressModel.H b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/frictionalStressModel/frictionalStressModel/frictionalStressModel.H deleted file mode 100644 index 9ee134af6f..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/frictionalStressModel/frictionalStressModel/frictionalStressModel.H +++ /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-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 . - -Class - Foam::kineticTheoryModels::frictionalStressModel - -SourceFiles - frictionalStressModel.C - -\*---------------------------------------------------------------------------*/ - -#ifndef frictionalStressModel_H -#define frictionalStressModel_H - -#include "dictionary.H" -#include "volFields.H" -#include "dimensionedTypes.H" -#include "runTimeSelectionTables.H" -#include "phaseModel.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ -namespace kineticTheoryModels -{ - -/*---------------------------------------------------------------------------*\ - Class frictionalStressModel Declaration -\*---------------------------------------------------------------------------*/ - -class frictionalStressModel -{ -protected: - - // Protected data - - //- Reference to higher-level dictionary for re-read - const dictionary& dict_; - - -public: - - //- Runtime type information - TypeName("frictionalStressModel"); - - // Declare runtime constructor selection table - declareRunTimeSelectionTable - ( - autoPtr, - frictionalStressModel, - dictionary, - ( - const dictionary& dict - ), - (dict) - ); - - - // Constructors - - //- Construct from components - frictionalStressModel(const dictionary& dict); - - //- Disallow default bitwise copy construction - frictionalStressModel(const frictionalStressModel&) = delete; - - - // Selectors - - static autoPtr New - ( - const dictionary& dict - ); - - - //- Destructor - virtual ~frictionalStressModel(); - - - // Member Functions - - virtual tmp frictionalPressure - ( - const phaseModel& phase, - const dimensionedScalar& alphaMinFriction, - const dimensionedScalar& alphaMax - ) const = 0; - - virtual tmp frictionalPressurePrime - ( - const phaseModel& phase, - const dimensionedScalar& alphaMinFriction, - const dimensionedScalar& alphaMax - ) const = 0; - - virtual tmp nu - ( - const phaseModel& phase, - const dimensionedScalar& alphaMinFriction, - const dimensionedScalar& alphaMax, - const volScalarField& pf, - const volSymmTensorField& D - ) const = 0; - - virtual bool read() = 0; - - - // Member Operators - - //- Disallow default bitwise assignment - void operator=(const frictionalStressModel&) = delete; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace kineticTheoryModels -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/frictionalStressModel/frictionalStressModel/newFrictionalStressModel.C b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/frictionalStressModel/frictionalStressModel/newFrictionalStressModel.C deleted file mode 100644 index 981ef36ccc..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/frictionalStressModel/frictionalStressModel/newFrictionalStressModel.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-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 "frictionalStressModel.H" - -// * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * * // - -Foam::autoPtr -Foam::kineticTheoryModels::frictionalStressModel::New -( - const dictionary& dict -) -{ - word frictionalStressModelType(dict.lookup("frictionalStressModel")); - - Info<< "Selecting frictionalStressModel " - << frictionalStressModelType << endl; - - dictionaryConstructorTable::iterator cstrIter = - dictionaryConstructorTablePtr_->find(frictionalStressModelType); - - if (cstrIter == dictionaryConstructorTablePtr_->end()) - { - FatalError - << "frictionalStressModel::New(const dictionary&) : " << endl - << " unknown frictionalStressModelType type " - << frictionalStressModelType - << ", constructor not in hash table" << endl << endl - << " Valid frictionalStressModelType types are :" << endl; - Info<< dictionaryConstructorTablePtr_->sortedToc() - << abort(FatalError); - } - - return autoPtr(cstrIter()(dict)); -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/granularPressureModel/Lun/LunPressure.C b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/granularPressureModel/Lun/LunPressure.C deleted file mode 100644 index 7fb213ab98..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/granularPressureModel/Lun/LunPressure.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-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 "LunPressure.H" -#include "addToRunTimeSelectionTable.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ -namespace kineticTheoryModels -{ -namespace granularPressureModels -{ - defineTypeNameAndDebug(Lun, 0); - - addToRunTimeSelectionTable - ( - granularPressureModel, - Lun, - dictionary - ); -} -} -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::kineticTheoryModels::granularPressureModels::Lun::Lun -( - const dictionary& dict -) -: - granularPressureModel(dict) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::kineticTheoryModels::granularPressureModels::Lun::~Lun() -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -Foam::tmp -Foam::kineticTheoryModels::granularPressureModels::Lun::granularPressureCoeff -( - const volScalarField& alpha1, - const volScalarField& g0, - const volScalarField& rho1, - const dimensionedScalar& e -) const -{ - - return rho1*alpha1*(1.0 + 2.0*(1.0 + e)*alpha1*g0); -} - - -Foam::tmp -Foam::kineticTheoryModels::granularPressureModels::Lun:: -granularPressureCoeffPrime -( - const volScalarField& alpha1, - const volScalarField& g0, - const volScalarField& g0prime, - const volScalarField& rho1, - const dimensionedScalar& e -) const -{ - return rho1*(1.0 + alpha1*(1.0 + e)*(4.0*g0 + 2.0*g0prime*alpha1)); -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/granularPressureModel/Lun/LunPressure.H b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/granularPressureModel/Lun/LunPressure.H deleted file mode 100644 index 71b8e3a892..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/granularPressureModel/Lun/LunPressure.H +++ /dev/null @@ -1,104 +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 . - -Class - Foam::kineticTheoryModels::granularPressureModels::Lun - -Description - -SourceFiles - LunPressure.C - -\*---------------------------------------------------------------------------*/ - -#ifndef LunPressure_H -#define LunPressure_H - -#include "granularPressureModel.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ -namespace kineticTheoryModels -{ -namespace granularPressureModels -{ - -/*---------------------------------------------------------------------------*\ - Class Lun Declaration -\*---------------------------------------------------------------------------*/ - -class Lun -: - public granularPressureModel -{ - -public: - - //- Runtime type information - TypeName("Lun"); - - - // Constructors - - //- Construct from components - Lun(const dictionary& dict); - - - //- Destructor - virtual ~Lun(); - - - // Member Functions - - tmp granularPressureCoeff - ( - const volScalarField& alpha1, - const volScalarField& g0, - const volScalarField& rho1, - const dimensionedScalar& e - ) const; - - tmp granularPressureCoeffPrime - ( - const volScalarField& alpha1, - const volScalarField& g0, - const volScalarField& g0prime, - const volScalarField& rho1, - const dimensionedScalar& e - ) const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace granularPressureModels -} // End namespace kineticTheoryModels -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/granularPressureModel/SyamlalRogersOBrien/SyamlalRogersOBrienPressure.C b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/granularPressureModel/SyamlalRogersOBrien/SyamlalRogersOBrienPressure.C deleted file mode 100644 index 144daec324..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/granularPressureModel/SyamlalRogersOBrien/SyamlalRogersOBrienPressure.C +++ /dev/null @@ -1,101 +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 "SyamlalRogersOBrienPressure.H" -#include "addToRunTimeSelectionTable.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ -namespace kineticTheoryModels -{ -namespace granularPressureModels -{ - defineTypeNameAndDebug(SyamlalRogersOBrien, 0); - - addToRunTimeSelectionTable - ( - granularPressureModel, - SyamlalRogersOBrien, - dictionary - ); -} -} -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::kineticTheoryModels::granularPressureModels::SyamlalRogersOBrien:: -SyamlalRogersOBrien -( - const dictionary& dict -) -: - granularPressureModel(dict) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::kineticTheoryModels::granularPressureModels::SyamlalRogersOBrien:: -~SyamlalRogersOBrien() -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -Foam::tmp -Foam::kineticTheoryModels::granularPressureModels::SyamlalRogersOBrien:: -granularPressureCoeff -( - const volScalarField& alpha1, - const volScalarField& g0, - const volScalarField& rho1, - const dimensionedScalar& e -) const -{ - - return 2.0*rho1*(1.0 + e)*sqr(alpha1)*g0; -} - - -Foam::tmp -Foam::kineticTheoryModels::granularPressureModels::SyamlalRogersOBrien:: -granularPressureCoeffPrime -( - const volScalarField& alpha1, - const volScalarField& g0, - const volScalarField& g0prime, - const volScalarField& rho1, - const dimensionedScalar& e -) const -{ - return rho1*alpha1*(1.0 + e)*(4.0*g0 + 2.0*g0prime*alpha1); -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/granularPressureModel/SyamlalRogersOBrien/SyamlalRogersOBrienPressure.H b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/granularPressureModel/SyamlalRogersOBrien/SyamlalRogersOBrienPressure.H deleted file mode 100644 index 12397b7d0c..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/granularPressureModel/SyamlalRogersOBrien/SyamlalRogersOBrienPressure.H +++ /dev/null @@ -1,104 +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 . - -Class - Foam::kineticTheoryModels::granularPressureModels::SyamlalRogersOBrien - -Description - -SourceFiles - SyamlalRogersOBrienPressure.C - -\*---------------------------------------------------------------------------*/ - -#ifndef SyamlalRogersOBrienPressure_H -#define SyamlalRogersOBrienPressure_H - -#include "granularPressureModel.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ -namespace kineticTheoryModels -{ -namespace granularPressureModels -{ - -/*---------------------------------------------------------------------------*\ - Class SyamlalRogersOBrien Declaration -\*---------------------------------------------------------------------------*/ - -class SyamlalRogersOBrien -: - public granularPressureModel -{ - -public: - - //- Runtime type information - TypeName("SyamlalRogersOBrien"); - - - // Constructors - - //- Construct from components - SyamlalRogersOBrien(const dictionary& dict); - - - //- Destructor - virtual ~SyamlalRogersOBrien(); - - - // Member Functions - - tmp granularPressureCoeff - ( - const volScalarField& alpha1, - const volScalarField& g0, - const volScalarField& rho1, - const dimensionedScalar& e - ) const; - - tmp granularPressureCoeffPrime - ( - const volScalarField& alpha1, - const volScalarField& g0, - const volScalarField& g0prime, - const volScalarField& rho1, - const dimensionedScalar& e - ) const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace granularPressureModels -} // End namespace kineticTheoryModels -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/granularPressureModel/granularPressureModel/granularPressureModel.C b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/granularPressureModel/granularPressureModel/granularPressureModel.C deleted file mode 100644 index 37fd91f9c7..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/granularPressureModel/granularPressureModel/granularPressureModel.C +++ /dev/null @@ -1,58 +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 "granularPressureModel.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ -namespace kineticTheoryModels -{ - defineTypeNameAndDebug(granularPressureModel, 0); - - defineRunTimeSelectionTable(granularPressureModel, dictionary); -} -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::kineticTheoryModels::granularPressureModel::granularPressureModel -( - const dictionary& dict -) -: - dict_(dict) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::kineticTheoryModels::granularPressureModel::~granularPressureModel() -{} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/granularPressureModel/granularPressureModel/granularPressureModel.H b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/granularPressureModel/granularPressureModel/granularPressureModel.H deleted file mode 100644 index 14a0d70194..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/granularPressureModel/granularPressureModel/granularPressureModel.H +++ /dev/null @@ -1,142 +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 . - -Class - Foam::kineticTheoryModels::granularPressureModel - -SourceFiles - granularPressureModel.C - -\*---------------------------------------------------------------------------*/ - -#ifndef granularPressureModel_H -#define granularPressureModel_H - -#include "dictionary.H" -#include "volFields.H" -#include "dimensionedTypes.H" -#include "runTimeSelectionTables.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ -namespace kineticTheoryModels -{ - -/*---------------------------------------------------------------------------*\ - Class granularPressureModel Declaration -\*---------------------------------------------------------------------------*/ - -class granularPressureModel -{ -protected: - - // Protected data - - const dictionary& dict_; - - -public: - - //- Runtime type information - TypeName("granularPressureModel"); - - // Declare runtime constructor selection table - declareRunTimeSelectionTable - ( - autoPtr, - granularPressureModel, - dictionary, - ( - const dictionary& dict - ), - (dict) - ); - - - // Constructors - - //- Construct from components - granularPressureModel(const dictionary& dict); - - //- Disallow default bitwise copy construction - granularPressureModel(const granularPressureModel&) = delete; - - - // Selectors - - static autoPtr New - ( - const dictionary& dict - ); - - - //- Destructor - virtual ~granularPressureModel(); - - - // Member Functions - - //- Granular pressure coefficient - virtual tmp granularPressureCoeff - ( - const volScalarField& alpha1, - const volScalarField& g0, - const volScalarField& rho1, - const dimensionedScalar& e - ) const = 0; - - //- Derivative of the granular pressure coefficient - virtual tmp granularPressureCoeffPrime - ( - const volScalarField& alpha1, - const volScalarField& g0, - const volScalarField& g0prime, - const volScalarField& rho1, - const dimensionedScalar& e - ) const = 0; - - virtual bool read() - { - return true; - } - - - // Member Operators - - //- Disallow default bitwise assignment - void operator=(const granularPressureModel&) = delete; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace kineticTheoryModels -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/granularPressureModel/granularPressureModel/newGranularPressureModel.C b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/granularPressureModel/granularPressureModel/newGranularPressureModel.C deleted file mode 100644 index 07440f7241..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/granularPressureModel/granularPressureModel/newGranularPressureModel.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-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 "granularPressureModel.H" - -// * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * * // - -Foam::autoPtr -Foam::kineticTheoryModels::granularPressureModel::New -( - const dictionary& dict -) -{ - word granularPressureModelType(dict.lookup("granularPressureModel")); - - Info<< "Selecting granularPressureModel " - << granularPressureModelType << endl; - - dictionaryConstructorTable::iterator cstrIter = - dictionaryConstructorTablePtr_->find(granularPressureModelType); - - if (cstrIter == dictionaryConstructorTablePtr_->end()) - { - FatalError - << "granularPressureModel::New(const dictionary&) : " << endl - << " unknown granularPressureModelType type " - << granularPressureModelType - << ", constructor not in hash table" << endl << endl - << " Valid granularPressureModelType types are :" << endl; - Info<< dictionaryConstructorTablePtr_->sortedToc() - << abort(FatalError); - } - - return autoPtr(cstrIter()(dict)); -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.C b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.C deleted file mode 100644 index b1c37450d4..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.C +++ /dev/null @@ -1,549 +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 "kineticTheoryModel.H" -#include "mathematicalConstants.H" -#include "twoPhaseSystem.H" -#include "fvOptions.H" - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::RASModels::kineticTheoryModel::kineticTheoryModel -( - const volScalarField& alpha, - const volScalarField& rho, - const volVectorField& U, - const surfaceScalarField& alphaRhoPhi, - const surfaceScalarField& phi, - const phaseModel& phase, - const word& type -) -: - eddyViscosity> - ( - type, - alpha, - rho, - U, - alphaRhoPhi, - phi, - phase - ), - - phase_(phase), - - viscosityModel_ - ( - kineticTheoryModels::viscosityModel::New - ( - coeffDict_ - ) - ), - conductivityModel_ - ( - kineticTheoryModels::conductivityModel::New - ( - coeffDict_ - ) - ), - radialModel_ - ( - kineticTheoryModels::radialModel::New - ( - coeffDict_ - ) - ), - granularPressureModel_ - ( - kineticTheoryModels::granularPressureModel::New - ( - coeffDict_ - ) - ), - frictionalStressModel_ - ( - kineticTheoryModels::frictionalStressModel::New - ( - coeffDict_ - ) - ), - - equilibrium_(coeffDict_.lookup("equilibrium")), - e_("e", dimless, coeffDict_), - alphaMax_("alphaMax", dimless, coeffDict_), - alphaMinFriction_ - ( - "alphaMinFriction", - dimless, - coeffDict_ - ), - residualAlpha_ - ( - "residualAlpha", - dimless, - coeffDict_ - ), - - maxNut_ - ( - "maxNut", - dimensionSet(0,2,-1,0,0), - coeffDict_.lookupOrDefault("maxNut",1000) - ), - - Theta_ - ( - IOobject - ( - IOobject::groupName("Theta", phase.name()), - U.time().timeName(), - U.mesh(), - IOobject::MUST_READ, - IOobject::AUTO_WRITE - ), - U.mesh() - ), - - lambda_ - ( - IOobject - ( - IOobject::groupName("lambda", phase.name()), - U.time().timeName(), - U.mesh(), - IOobject::NO_READ, - IOobject::NO_WRITE - ), - U.mesh(), - dimensionedScalar(dimensionSet(0, 2, -1, 0, 0), 0) - ), - - gs0_ - ( - IOobject - ( - IOobject::groupName("gs0", phase.name()), - U.time().timeName(), - U.mesh(), - IOobject::NO_READ, - IOobject::NO_WRITE - ), - U.mesh(), - dimensionedScalar(dimensionSet(0, 0, 0, 0, 0), 0) - ), - - kappa_ - ( - IOobject - ( - IOobject::groupName("kappa", phase.name()), - U.time().timeName(), - U.mesh(), - IOobject::NO_READ, - IOobject::NO_WRITE - ), - U.mesh(), - dimensionedScalar(dimensionSet(1, -1, -1, 0, 0), 0) - ), - - nuFric_ - ( - IOobject - ( - IOobject::groupName("nuFric", phase.name()), - U.time().timeName(), - U.mesh(), - IOobject::NO_READ, - IOobject::AUTO_WRITE - ), - U.mesh(), - dimensionedScalar(dimensionSet(0, 2, -1, 0, 0), 0) - ) -{ - if (type == typeName) - { - printCoeffs(type); - } -} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::RASModels::kineticTheoryModel::~kineticTheoryModel() -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -bool Foam::RASModels::kineticTheoryModel::read() -{ - if - ( - eddyViscosity>::read() - ) - { - coeffDict().lookup("equilibrium") >> equilibrium_; - e_.readIfPresent(coeffDict()); - alphaMax_.readIfPresent(coeffDict()); - alphaMinFriction_.readIfPresent(coeffDict()); - - viscosityModel_->read(); - conductivityModel_->read(); - radialModel_->read(); - granularPressureModel_->read(); - frictionalStressModel_->read(); - - return true; - } - else - { - return false; - } -} - - -Foam::tmp -Foam::RASModels::kineticTheoryModel::k() const -{ - NotImplemented; - return nut_; -} - - -Foam::tmp -Foam::RASModels::kineticTheoryModel::epsilon() const -{ - NotImplemented; - return nut_; -} - - -Foam::tmp -Foam::RASModels::kineticTheoryModel::sigma() const -{ - return volSymmTensorField::New - ( - IOobject::groupName("R", U_.group()), - - (nut_)*dev(twoSymm(fvc::grad(U_))) - - (lambda_*fvc::div(phi_))*symmTensor::I - ); -} - - -Foam::tmp -Foam::RASModels::kineticTheoryModel::pPrime() const -{ - const volScalarField& rho = phase_.rho(); - - tmp tpPrime - ( - Theta_ - *granularPressureModel_->granularPressureCoeffPrime - ( - alpha_, - radialModel_->g0(alpha_, alphaMinFriction_, alphaMax_), - radialModel_->g0prime(alpha_, alphaMinFriction_, alphaMax_), - rho, - e_ - ) - + frictionalStressModel_->frictionalPressurePrime - ( - phase_, - alphaMinFriction_, - alphaMax_ - ) - ); - - volScalarField::Boundary& bpPrime = - tpPrime.ref().boundaryFieldRef(); - - forAll(bpPrime, patchi) - { - if (!bpPrime[patchi].coupled()) - { - bpPrime[patchi] == 0; - } - } - - return tpPrime; -} - - -Foam::tmp -Foam::RASModels::kineticTheoryModel::pPrimef() const -{ - return fvc::interpolate(pPrime()); -} - - -Foam::tmp -Foam::RASModels::kineticTheoryModel::devTau() const -{ - return volSymmTensorField::New - ( - IOobject::groupName("devTau", U_.group()), - - (rho_*nut_) - *dev(twoSymm(fvc::grad(U_))) - - ((rho_*lambda_)*fvc::div(phi_))*symmTensor::I - ); -} - - -Foam::tmp -Foam::RASModels::kineticTheoryModel::divDevTau -( - volVectorField& U -) const -{ - return - ( - - fvm::laplacian(rho_*nut_, U) - - fvc::div - ( - (rho_*nut_)*dev2(T(fvc::grad(U))) - + ((rho_*lambda_)*fvc::div(phi_)) - *dimensioned("I", dimless, symmTensor::I) - ) - ); -} - - -void Foam::RASModels::kineticTheoryModel::correct() -{ - // Local references - const twoPhaseSystem& fluid = refCast(phase_.fluid()); - volScalarField alpha(max(alpha_, scalar(0))); - const volScalarField& rho = phase_.rho(); - const surfaceScalarField& alphaRhoPhi = alphaRhoPhi_; - const volVectorField& U = U_; - const volVectorField& Uc_ = fluid.otherPhase(phase_).U(); - - const scalar sqrtPi = sqrt(constant::mathematical::pi); - dimensionedScalar ThetaSmall("ThetaSmall", Theta_.dimensions(), 1.0e-6); - dimensionedScalar ThetaSmallSqrt(sqrt(ThetaSmall)); - - tmp tda(phase_.d()); - const volScalarField& da = tda(); - - tmp tgradU(fvc::grad(U_)); - const volTensorField& gradU(tgradU()); - volSymmTensorField D(symm(gradU)); - - // Calculating the radial distribution function - gs0_ = radialModel_->g0(alpha, alphaMinFriction_, alphaMax_); - - if (!equilibrium_) - { - // Particle viscosity (Table 3.2, p.47) - nut_ = viscosityModel_->nu(alpha, Theta_, gs0_, rho, da, e_); - - volScalarField ThetaSqrt("sqrtTheta", sqrt(Theta_)); - - // Bulk viscosity p. 45 (Lun et al. 1984). - lambda_ = (4.0/3.0)*sqr(alpha)*da*gs0_*(1.0 + e_)*ThetaSqrt/sqrtPi; - - // Stress tensor, Definitions, Table 3.1, p. 43 - volSymmTensorField tau - ( - rho*(2.0*nut_*D + (lambda_ - (2.0/3.0)*nut_)*tr(D)*I) - ); - - // Dissipation (Eq. 3.24, p.50) - volScalarField gammaCoeff - ( - "gammaCoeff", - 12.0*(1.0 - sqr(e_)) - *max(sqr(alpha), residualAlpha_) - *rho*gs0_*(1.0/da)*ThetaSqrt/sqrtPi - ); - - // Drag - volScalarField beta - ( - fluid.lookupSubModel - ( - phase_, - fluid.otherPhase(phase_) - ).K() - ); - - // Eq. 3.25, p. 50 Js = J1 - J2 - volScalarField J1("J1", 3.0*beta); - volScalarField J2 - ( - "J2", - 0.25*sqr(beta)*da*magSqr(U - Uc_) - /( - max(alpha, residualAlpha_)*rho - *sqrtPi*(ThetaSqrt + ThetaSmallSqrt) - ) - ); - - // particle pressure - coefficient in front of Theta (Eq. 3.22, p. 45) - volScalarField PsCoeff - ( - granularPressureModel_->granularPressureCoeff - ( - alpha, - gs0_, - rho, - e_ - ) - ); - - // 'thermal' conductivity (Table 3.3, p. 49) - kappa_ = conductivityModel_->kappa(alpha, Theta_, gs0_, rho, da, e_); - - fv::options& fvOptions(fv::options::New(mesh_)); - - // Construct the granular temperature equation (Eq. 3.20, p. 44) - // NB. note that there are two typos in Eq. 3.20: - // Ps should be without grad - // the laplacian has the wrong sign - fvScalarMatrix ThetaEqn - ( - 1.5* - ( - fvm::ddt(alpha, rho, Theta_) - + fvm::div(alphaRhoPhi, Theta_) - - fvc::Sp(fvc::ddt(alpha, rho) + fvc::div(alphaRhoPhi), Theta_) - ) - - fvm::laplacian(kappa_, Theta_, "laplacian(kappa,Theta)") - == - - fvm::SuSp((PsCoeff*I) && gradU, Theta_) - + (tau && gradU) - + fvm::Sp(-gammaCoeff, Theta_) - + fvm::Sp(-J1, Theta_) - + fvm::Sp(J2/(Theta_ + ThetaSmall), Theta_) - + fvOptions(alpha, rho, Theta_) - ); - - ThetaEqn.relax(); - fvOptions.constrain(ThetaEqn); - ThetaEqn.solve(); - fvOptions.correct(Theta_); - } - else - { - // Equilibrium => dissipation == production - // Eq. 4.14, p.82 - volScalarField K1("K1", 2.0*(1.0 + e_)*rho*gs0_); - volScalarField K3 - ( - "K3", - 0.5*da*rho* - ( - (sqrtPi/(3.0*(3.0 - e_))) - *(1.0 + 0.4*(1.0 + e_)*(3.0*e_ - 1.0)*alpha*gs0_) - +1.6*alpha*gs0_*(1.0 + e_)/sqrtPi - ) - ); - - volScalarField K2 - ( - "K2", - 4.0*da*rho*(1.0 + e_)*alpha*gs0_/(3.0*sqrtPi) - 2.0*K3/3.0 - ); - - volScalarField K4("K4", 12.0*(1.0 - sqr(e_))*rho*gs0_/(da*sqrtPi)); - - volScalarField trD - ( - "trD", - alpha/(alpha + residualAlpha_) - *fvc::div(phi_) - ); - volScalarField tr2D("tr2D", sqr(trD)); - volScalarField trD2("trD2", tr(D & D)); - - volScalarField t1("t1", K1*alpha + rho); - volScalarField l1("l1", -t1*trD); - volScalarField l2("l2", sqr(t1)*tr2D); - volScalarField l3 - ( - "l3", - 4.0 - *K4 - *alpha - *(2.0*K3*trD2 + K2*tr2D) - ); - - Theta_ = sqr - ( - (l1 + sqrt(l2 + l3)) - /(2.0*max(alpha, residualAlpha_)*K4) - ); - - kappa_ = conductivityModel_->kappa(alpha, Theta_, gs0_, rho, da, e_); - } - - Theta_.max(0); - Theta_.min(100); - - { - // particle viscosity (Table 3.2, p.47) - nut_ = viscosityModel_->nu(alpha, Theta_, gs0_, rho, da, e_); - - volScalarField ThetaSqrt("sqrtTheta", sqrt(Theta_)); - - // Bulk viscosity p. 45 (Lun et al. 1984). - lambda_ = (4.0/3.0)*sqr(alpha)*da*gs0_*(1.0 + e_)*ThetaSqrt/sqrtPi; - - // Frictional pressure - volScalarField pf - ( - frictionalStressModel_->frictionalPressure - ( - phase_, - alphaMinFriction_, - alphaMax_ - ) - ); - - nuFric_ = frictionalStressModel_->nu - ( - phase_, - alphaMinFriction_, - alphaMax_, - pf/rho, - D - ); - - // Limit viscosity and add frictional viscosity - nut_.min(maxNut_); - nuFric_ = min(nuFric_, maxNut_ - nut_); - nut_ += nuFric_; - } - - if (debug) - { - Info<< typeName << ':' << nl - << " max(Theta) = " << max(Theta_).value() << nl - << " max(nut) = " << max(nut_).value() << endl; - } -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.H b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.H deleted file mode 100644 index 3620f8404d..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.H +++ /dev/null @@ -1,235 +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 . - -Class - Foam::RASModels::kineticTheoryModel - -Description - Kinetic theory particle phase RAS model - - Reference: - \verbatim - "Derivation, implementation, and validation of computer simulation - models for gas-solid fluidized beds", - van Wachem, B.G.M., - Ph.D. Thesis, Delft University of Technology, Amsterdam, 2000. - \endverbatim - - There are no default model coefficients. - -SourceFiles - kineticTheoryModel.C - -\*---------------------------------------------------------------------------*/ - -#ifndef kineticTheoryModel_H -#define kineticTheoryModel_H - -#include "RASModel.H" -#include "eddyViscosity.H" -#include "phaseCompressibleMomentumTransportModel.H" -#include "phaseModel.H" -#include "dragModel.H" -#include "viscosityModel.H" -#include "conductivityModel.H" -#include "radialModel.H" -#include "granularPressureModel.H" -#include "frictionalStressModel.H" - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ -namespace RASModels -{ - -/*---------------------------------------------------------------------------*\ - Class kineticTheoryModel Declaration -\*---------------------------------------------------------------------------*/ - -class kineticTheoryModel -: - public eddyViscosity> -{ - // Private Data - - // Input Fields - - const phaseModel& phase_; - - - // Sub-models - - //- Run-time selected viscosity model - autoPtr viscosityModel_; - - //- Run-time selected conductivity model - autoPtr conductivityModel_; - - //- Run-time selected radial distribution model - autoPtr radialModel_; - - //- Run-time selected granular pressure model - autoPtr - granularPressureModel_; - - //- Run-time selected frictional stress model - autoPtr - frictionalStressModel_; - - - // Kinetic Theory Model coefficients - - //- Use equilibrium approximation: generation == dissipation - Switch equilibrium_; - - //- Coefficient of restitution - dimensionedScalar e_; - - //- Maximum packing phase-fraction - dimensionedScalar alphaMax_; - - //- Min value for which the frictional stresses are zero - dimensionedScalar alphaMinFriction_; - - //- Residual phase fraction - dimensionedScalar residualAlpha_; - - //- Maximum turbulent viscosity - dimensionedScalar maxNut_; - - - // Kinetic Theory Model Fields - - //- The granular energy/temperature - volScalarField Theta_; - - //- The granular bulk viscosity - volScalarField lambda_; - - //- The granular radial distribution - volScalarField gs0_; - - //- The granular "thermal" conductivity - volScalarField kappa_; - - //- The frictional viscosity - volScalarField nuFric_; - - - // Private Member Functions - - void correctNut() - {} - - -public: - - //- Runtime type information - TypeName("kineticTheory"); - - - // Constructors - - //- Construct from components - kineticTheoryModel - ( - const volScalarField& alpha, - const volScalarField& rho, - const volVectorField& U, - const surfaceScalarField& alphaRhoPhi, - const surfaceScalarField& phi, - const phaseModel& transport, - const word& type = typeName - ); - - //- Disallow default bitwise copy construction - kineticTheoryModel(const kineticTheoryModel&) = delete; - - - //- Destructor - virtual ~kineticTheoryModel(); - - - // Member Functions - - //- Re-read model coefficients if they have changed - virtual bool read(); - - //- Return the effective viscosity - virtual tmp nuEff() const - { - return this->nut(); - } - - //- Return the effective viscosity on patch - virtual tmp nuEff(const label patchi) const - { - return this->nut(patchi); - } - - //- Return the turbulence kinetic energy - virtual tmp k() const; - - //- Return the turbulence kinetic energy dissipation rate - virtual tmp epsilon() const; - - //- Return the stress tensor [m^2/s^2] - virtual tmp sigma() const; - - //- Return the phase-pressure' - // (derivative of phase-pressure w.r.t. phase-fraction) - virtual tmp pPrime() const; - - //- Return the face-phase-pressure' - // (derivative of phase-pressure w.r.t. phase-fraction) - virtual tmp pPrimef() const; - - //- Return the effective stress tensor - virtual tmp devTau() const; - - //- Return the source term for the momentum equation - virtual tmp divDevTau(volVectorField& U) const; - - //- Solve the kinetic theory equations and correct the viscosity - virtual void correct(); - - - // Member Operators - - //- Disallow default bitwise assignment - void operator=(const kineticTheoryModel&) = delete; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace RASModels -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/radialModel/CarnahanStarling/CarnahanStarlingRadial.C b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/radialModel/CarnahanStarling/CarnahanStarlingRadial.C deleted file mode 100644 index 117d5159c0..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/radialModel/CarnahanStarling/CarnahanStarlingRadial.C +++ /dev/null @@ -1,100 +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 "CarnahanStarlingRadial.H" -#include "addToRunTimeSelectionTable.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ -namespace kineticTheoryModels -{ -namespace radialModels -{ - defineTypeNameAndDebug(CarnahanStarling, 0); - - addToRunTimeSelectionTable - ( - radialModel, - CarnahanStarling, - dictionary - ); -} -} -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::kineticTheoryModels::radialModels::CarnahanStarling::CarnahanStarling -( - const dictionary& dict -) -: - radialModel(dict) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::kineticTheoryModels::radialModels::CarnahanStarling::~CarnahanStarling() -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -Foam::tmp -Foam::kineticTheoryModels::radialModels::CarnahanStarling::g0 -( - const volScalarField& alpha, - const dimensionedScalar& alphaMinFriction, - const dimensionedScalar& alphaMax -) const -{ - - return - 1.0/(1.0 - alpha) - + 3.0*alpha/(2.0*sqr(1.0 - alpha)) - + sqr(alpha)/(2.0*pow3(1.0 - alpha)); -} - - -Foam::tmp -Foam::kineticTheoryModels::radialModels::CarnahanStarling::g0prime -( - const volScalarField& alpha, - const dimensionedScalar& alphaMinFriction, - const dimensionedScalar& alphaMax -) const -{ - return - 2.5/sqr(1.0 - alpha) - + 4.0*alpha/pow3(1.0 - alpha) - + 1.5*sqr(alpha)/pow4(1.0 - alpha); -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/radialModel/CarnahanStarling/CarnahanStarlingRadial.H b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/radialModel/CarnahanStarling/CarnahanStarlingRadial.H deleted file mode 100644 index ef8cf03774..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/radialModel/CarnahanStarling/CarnahanStarlingRadial.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-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 . - -Class - Foam::kineticTheoryModels::radialModels::CarnahanStarling - -Description - -SourceFiles - CarnahanStarlingRadial.C - -\*---------------------------------------------------------------------------*/ - -#ifndef CarnahanStarlingRadial_H -#define CarnahanStarlingRadial_H - -#include "radialModel.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ -namespace kineticTheoryModels -{ -namespace radialModels -{ - -/*---------------------------------------------------------------------------*\ - Class CarnahanStarling Declaration -\*---------------------------------------------------------------------------*/ - -class CarnahanStarling -: - public radialModel -{ - -public: - - //- Runtime type information - TypeName("CarnahanStarling"); - - - // Constructors - - //- Construct from components - CarnahanStarling(const dictionary& dict); - - - //- Destructor - virtual ~CarnahanStarling(); - - - // Member Functions - - - tmp g0 - ( - const volScalarField& alpha, - const dimensionedScalar& alphaMinFriction, - const dimensionedScalar& alphaMax - ) const; - - tmp g0prime - ( - const volScalarField& alpha, - const dimensionedScalar& alphaMinFriction, - const dimensionedScalar& alphaMax - ) const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace radialModels -} // End namespace kineticTheoryModels -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/radialModel/LunSavage/LunSavageRadial.C b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/radialModel/LunSavage/LunSavageRadial.C deleted file mode 100644 index 57f2f98287..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/radialModel/LunSavage/LunSavageRadial.C +++ /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-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 "LunSavageRadial.H" -#include "addToRunTimeSelectionTable.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ -namespace kineticTheoryModels -{ -namespace radialModels -{ - defineTypeNameAndDebug(LunSavage, 0); - - addToRunTimeSelectionTable - ( - radialModel, - LunSavage, - dictionary - ); -} -} -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::kineticTheoryModels::radialModels::LunSavage::LunSavage -( - const dictionary& dict -) -: - radialModel(dict) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::kineticTheoryModels::radialModels::LunSavage::~LunSavage() -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -Foam::tmp -Foam::kineticTheoryModels::radialModels::LunSavage::g0 -( - const volScalarField& alpha, - const dimensionedScalar& alphaMinFriction, - const dimensionedScalar& alphaMax -) const -{ - - return pow(1.0 - alpha/alphaMax, -2.5*alphaMax); -} - - -Foam::tmp -Foam::kineticTheoryModels::radialModels::LunSavage::g0prime -( - const volScalarField& alpha, - const dimensionedScalar& alphaMinFriction, - const dimensionedScalar& alphaMax -) const -{ - return 2.5*pow(1.0 - alpha/alphaMax, -2.5*alphaMax - 1); -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/radialModel/LunSavage/LunSavageRadial.H b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/radialModel/LunSavage/LunSavageRadial.H deleted file mode 100644 index 72b234971c..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/radialModel/LunSavage/LunSavageRadial.H +++ /dev/null @@ -1,101 +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 . - -Class - Foam::kineticTheoryModels::radialModels::LunSavage - -Description - -SourceFiles - LunSavage.C - -\*---------------------------------------------------------------------------*/ - -#ifndef LunSavageRadial_H -#define LunSavageRadial_H - -#include "radialModel.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ -namespace kineticTheoryModels -{ -namespace radialModels -{ - -/*---------------------------------------------------------------------------*\ - Class LunSavage Declaration -\*---------------------------------------------------------------------------*/ - -class LunSavage -: - public radialModel -{ - -public: - - //- Runtime type information - TypeName("LunSavage"); - - - // Constructors - - //- Construct from components - LunSavage(const dictionary& dict); - - - //- Destructor - virtual ~LunSavage(); - - - // Member Functions - - tmp g0 - ( - const volScalarField& alpha, - const dimensionedScalar& alphaMinFriction, - const dimensionedScalar& alphaMax - ) const; - - tmp g0prime - ( - const volScalarField& alpha, - const dimensionedScalar& alphaMinFriction, - const dimensionedScalar& alphaMax - ) const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace radialModels -} // End namespace kineticTheoryModels -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/radialModel/SinclairJackson/SinclairJacksonRadial.C b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/radialModel/SinclairJackson/SinclairJacksonRadial.C deleted file mode 100644 index bb690f147c..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/radialModel/SinclairJackson/SinclairJacksonRadial.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-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 "SinclairJacksonRadial.H" -#include "addToRunTimeSelectionTable.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ -namespace kineticTheoryModels -{ -namespace radialModels -{ - defineTypeNameAndDebug(SinclairJackson, 0); - - addToRunTimeSelectionTable - ( - radialModel, - SinclairJackson, - dictionary - ); -} -} -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::kineticTheoryModels::radialModels::SinclairJackson::SinclairJackson -( - const dictionary& dict -) -: - radialModel(dict) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::kineticTheoryModels::radialModels::SinclairJackson::~SinclairJackson() -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -Foam::tmp -Foam::kineticTheoryModels::radialModels::SinclairJackson::g0 -( - const volScalarField& alpha, - const dimensionedScalar& alphaMinFriction, - const dimensionedScalar& alphaMax -) const -{ - return 1.0/(1.0 - cbrt(min(alpha, alphaMinFriction)/alphaMax)); -} - - -Foam::tmp -Foam::kineticTheoryModels::radialModels::SinclairJackson::g0prime -( - const volScalarField& alpha, - const dimensionedScalar& alphaMinFriction, - const dimensionedScalar& alphaMax -) const -{ - volScalarField aByaMax - ( - cbrt(min(max(alpha, scalar(1e-3)), alphaMinFriction)/alphaMax) - ); - - return (1.0/(3*alphaMax))/sqr(aByaMax - sqr(aByaMax)); -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/radialModel/SinclairJackson/SinclairJacksonRadial.H b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/radialModel/SinclairJackson/SinclairJacksonRadial.H deleted file mode 100644 index e00469aec6..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/radialModel/SinclairJackson/SinclairJacksonRadial.H +++ /dev/null @@ -1,101 +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 . - -Class - Foam::kineticTheoryModels::radialModels::SinclairJackson - -Description - -SourceFiles - SinclairJacksonRadial.C - -\*---------------------------------------------------------------------------*/ - -#ifndef SinclairJacksonRadial_H -#define SinclairJacksonRadial_H - -#include "radialModel.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ -namespace kineticTheoryModels -{ -namespace radialModels -{ - -/*---------------------------------------------------------------------------*\ - Class SinclairJackson Declaration -\*---------------------------------------------------------------------------*/ - -class SinclairJackson -: - public radialModel -{ - -public: - - //- Runtime type information - TypeName("SinclairJackson"); - - - // Constructors - - //- Construct from components - SinclairJackson(const dictionary& dict); - - - //- Destructor - virtual ~SinclairJackson(); - - - // Member Functions - - tmp g0 - ( - const volScalarField& alpha, - const dimensionedScalar& alphaMinFriction, - const dimensionedScalar& alphaMax - ) const; - - tmp g0prime - ( - const volScalarField& alpha, - const dimensionedScalar& alphaMinFriction, - const dimensionedScalar& alphaMax - ) const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace radialModels -} // End namespace kineticTheoryModels -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/radialModel/radialModel/newRadialModel.C b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/radialModel/radialModel/newRadialModel.C deleted file mode 100644 index 0a57e62379..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/radialModel/radialModel/newRadialModel.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-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 "radialModel.H" - -// * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * * // - -Foam::autoPtr -Foam::kineticTheoryModels::radialModel::New -( - const dictionary& dict -) -{ - word radialModelType(dict.lookup("radialModel")); - - Info<< "Selecting radialModel " - << radialModelType << endl; - - dictionaryConstructorTable::iterator cstrIter = - dictionaryConstructorTablePtr_->find(radialModelType); - - if (cstrIter == dictionaryConstructorTablePtr_->end()) - { - FatalError - << "radialModel::New(const dictionary&) : " << endl - << " unknown radialModelType type " - << radialModelType - << ", constructor not in hash table" << endl << endl - << " Valid radialModelType types are :" << endl; - Info<< dictionaryConstructorTablePtr_->sortedToc() - << abort(FatalError); - } - - return autoPtr(cstrIter()(dict)); -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/radialModel/radialModel/radialModel.C b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/radialModel/radialModel/radialModel.C deleted file mode 100644 index 5ec4a31a6b..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/radialModel/radialModel/radialModel.C +++ /dev/null @@ -1,58 +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 "radialModel.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ -namespace kineticTheoryModels -{ - defineTypeNameAndDebug(radialModel, 0); - - defineRunTimeSelectionTable(radialModel, dictionary); -} -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::kineticTheoryModels::radialModel::radialModel -( - const dictionary& dict -) -: - dict_(dict) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::kineticTheoryModels::radialModel::~radialModel() -{} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/radialModel/radialModel/radialModel.H b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/radialModel/radialModel/radialModel.H deleted file mode 100644 index e20f51345a..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/radialModel/radialModel/radialModel.H +++ /dev/null @@ -1,139 +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 . - -Class - Foam::kineticTheoryModels::radialModel - -SourceFiles - radialModel.C - -\*---------------------------------------------------------------------------*/ - -#ifndef radialModel_H -#define radialModel_H - -#include "dictionary.H" -#include "volFields.H" -#include "dimensionedTypes.H" -#include "runTimeSelectionTables.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ -namespace kineticTheoryModels -{ - -/*---------------------------------------------------------------------------*\ - Class radialModel Declaration -\*---------------------------------------------------------------------------*/ - -class radialModel -{ -protected: - - // Protected data - - const dictionary& dict_; - - -public: - - //- Runtime type information - TypeName("radialModel"); - - // Declare runtime constructor selection table - declareRunTimeSelectionTable - ( - autoPtr, - radialModel, - dictionary, - ( - const dictionary& dict - ), - (dict) - ); - - - // Constructors - - //- Construct from components - radialModel(const dictionary& dict); - - //- Disallow default bitwise copy construction - radialModel(const radialModel&) = delete; - - - // Selectors - - static autoPtr New - ( - const dictionary& dict - ); - - - //- Destructor - virtual ~radialModel(); - - - // Member Functions - - //- Radial distribution function - virtual tmp g0 - ( - const volScalarField& alpha, - const dimensionedScalar& alphaMinFriction, - const dimensionedScalar& alphaMax - ) const = 0; - - //- Derivative of the radial distribution function - virtual tmp g0prime - ( - const volScalarField& alpha, - const dimensionedScalar& alphaMinFriction, - const dimensionedScalar& alphaMax - ) const = 0; - - virtual bool read() - { - return true; - } - - - // Member Operators - - //- Disallow default bitwise assignment - void operator=(const radialModel&) = delete; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace kineticTheoryModels -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/viscosityModel/Gidaspow/GidaspowViscosity.C b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/viscosityModel/Gidaspow/GidaspowViscosity.C deleted file mode 100644 index a925bf8a86..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/viscosityModel/Gidaspow/GidaspowViscosity.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-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 "GidaspowViscosity.H" -#include "mathematicalConstants.H" -#include "addToRunTimeSelectionTable.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ -namespace kineticTheoryModels -{ -namespace viscosityModels -{ - defineTypeNameAndDebug(Gidaspow, 0); - addToRunTimeSelectionTable(viscosityModel, Gidaspow, dictionary); -} -} -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::kineticTheoryModels::viscosityModels::Gidaspow::Gidaspow -( - const dictionary& dict -) -: - viscosityModel(dict) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::kineticTheoryModels::viscosityModels::Gidaspow::~Gidaspow() -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -Foam::tmp -Foam::kineticTheoryModels::viscosityModels::Gidaspow::nu -( - const volScalarField& alpha1, - const volScalarField& Theta, - const volScalarField& g0, - const volScalarField& rho1, - const volScalarField& da, - const dimensionedScalar& e -) const -{ - const scalar sqrtPi = sqrt(constant::mathematical::pi); - - return da*sqrt(Theta)* - ( - (4.0/5.0)*sqr(alpha1)*g0*(1.0 + e)/sqrtPi - + (1.0/15.0)*sqrtPi*g0*(1.0 + e)*sqr(alpha1) - + (1.0/6.0)*sqrtPi*alpha1 - + (10.0/96.0)*sqrtPi/((1.0 + e)*g0) - ); -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/viscosityModel/Gidaspow/GidaspowViscosity.H b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/viscosityModel/Gidaspow/GidaspowViscosity.H deleted file mode 100644 index 8f4143d179..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/viscosityModel/Gidaspow/GidaspowViscosity.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-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 . - -Class - Foam::kineticTheoryModels::viscosityModels::Gidaspow - -Description - -SourceFiles - GidaspowViscosity.C - -\*---------------------------------------------------------------------------*/ - -#ifndef GidaspowViscosity_H -#define GidaspowViscosity_H - -#include "viscosityModel.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ -namespace kineticTheoryModels -{ -namespace viscosityModels -{ - -/*---------------------------------------------------------------------------*\ - Class Gidaspow Declaration -\*---------------------------------------------------------------------------*/ - -class Gidaspow -: - public viscosityModel -{ - -public: - - //- Runtime type information - TypeName("Gidaspow"); - - // Constructors - - //- Construct from components - Gidaspow(const dictionary& dict); - - - //- Destructor - virtual ~Gidaspow(); - - - // Member Functions - - tmp nu - ( - const volScalarField& alpha1, - const volScalarField& Theta, - const volScalarField& g0, - const volScalarField& rho1, - const volScalarField& da, - const dimensionedScalar& e - ) const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace viscosityModels -} // End namespace kineticTheoryModels -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/viscosityModel/HrenyaSinclair/HrenyaSinclairViscosity.C b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/viscosityModel/HrenyaSinclair/HrenyaSinclairViscosity.C deleted file mode 100644 index dae043156e..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/viscosityModel/HrenyaSinclair/HrenyaSinclairViscosity.C +++ /dev/null @@ -1,111 +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 "HrenyaSinclairViscosity.H" -#include "mathematicalConstants.H" -#include "addToRunTimeSelectionTable.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ -namespace kineticTheoryModels -{ -namespace viscosityModels -{ - defineTypeNameAndDebug(HrenyaSinclair, 0); - - addToRunTimeSelectionTable - ( - viscosityModel, - HrenyaSinclair, - dictionary - ); -} -} -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::kineticTheoryModels::viscosityModels::HrenyaSinclair::HrenyaSinclair -( - const dictionary& dict -) -: - viscosityModel(dict), - coeffDict_(dict.optionalSubDict(typeName + "Coeffs")), - L_("L", dimensionSet(0, 1, 0, 0, 0), coeffDict_) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::kineticTheoryModels::viscosityModels::HrenyaSinclair::~HrenyaSinclair() -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -Foam::tmp -Foam::kineticTheoryModels::viscosityModels::HrenyaSinclair::nu -( - const volScalarField& alpha1, - const volScalarField& Theta, - const volScalarField& g0, - const volScalarField& rho1, - const volScalarField& da, - const dimensionedScalar& e -) const -{ - const scalar sqrtPi = sqrt(constant::mathematical::pi); - - volScalarField lamda - ( - scalar(1) + da/(6.0*sqrt(2.0)*(alpha1 + scalar(1.0e-5)))/L_ - ); - - return da*sqrt(Theta)* - ( - (4.0/5.0)*sqr(alpha1)*g0*(1.0 + e)/sqrtPi - + (1.0/15.0)*sqrtPi*g0*(1.0 + e)*(3.0*e - 1)*sqr(alpha1)/(3.0-e) - + (1.0/6.0)*sqrtPi*alpha1*(0.5*lamda + 0.25*(3.0*e - 1.0)) - /(0.5*(3.0 - e)*lamda) - + (10/96.0)*sqrtPi/((1.0 + e)*0.5*(3.0 - e)*g0*lamda) - ); -} - - -bool Foam::kineticTheoryModels::viscosityModels::HrenyaSinclair::read() -{ - coeffDict_ <<= dict_.optionalSubDict(typeName + "Coeffs"); - - L_.readIfPresent(coeffDict_); - - return true; -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/viscosityModel/HrenyaSinclair/HrenyaSinclairViscosity.H b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/viscosityModel/HrenyaSinclair/HrenyaSinclairViscosity.H deleted file mode 100644 index fde3e04283..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/viscosityModel/HrenyaSinclair/HrenyaSinclairViscosity.H +++ /dev/null @@ -1,106 +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 . - -Class - Foam::kineticTheoryModels::viscosityModels::HrenyaSinclair - -Description - -SourceFiles - HrenyaSinclairViscosity.C - -\*---------------------------------------------------------------------------*/ - -#ifndef HrenyaSinclairViscosity_H -#define HrenyaSinclairViscosity_H - -#include "viscosityModel.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ -namespace kineticTheoryModels -{ -namespace viscosityModels -{ - -/*---------------------------------------------------------------------------*\ - Class HrenyaSinclair Declaration -\*---------------------------------------------------------------------------*/ - -class HrenyaSinclair -: - public viscosityModel -{ - // Private Data - - dictionary coeffDict_; - - //- Characteristic length of geometry - dimensionedScalar L_; - - -public: - - //- Runtime type information - TypeName("HrenyaSinclair"); - - - // Constructors - - //- Construct from components - HrenyaSinclair(const dictionary& dict); - - - //- Destructor - virtual ~HrenyaSinclair(); - - - // Member Functions - - tmp nu - ( - const volScalarField& alpha1, - const volScalarField& Theta, - const volScalarField& g0, - const volScalarField& rho1, - const volScalarField& da, - const dimensionedScalar& e - ) const; - - virtual bool read(); -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace viscosityModels -} // End namespace kineticTheoryModels -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/viscosityModel/Syamlal/SyamlalViscosity.C b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/viscosityModel/Syamlal/SyamlalViscosity.C deleted file mode 100644 index a5aa5fb4ae..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/viscosityModel/Syamlal/SyamlalViscosity.C +++ /dev/null @@ -1,86 +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 "SyamlalViscosity.H" -#include "mathematicalConstants.H" -#include "addToRunTimeSelectionTable.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ -namespace kineticTheoryModels -{ -namespace viscosityModels -{ - defineTypeNameAndDebug(Syamlal, 0); - addToRunTimeSelectionTable(viscosityModel, Syamlal, dictionary); -} -} -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::kineticTheoryModels::viscosityModels::Syamlal::Syamlal -( - const dictionary& dict -) -: - viscosityModel(dict) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::kineticTheoryModels::viscosityModels::Syamlal::~Syamlal() -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -Foam::tmp -Foam::kineticTheoryModels::viscosityModels::Syamlal::nu -( - const volScalarField& alpha1, - const volScalarField& Theta, - const volScalarField& g0, - const volScalarField& rho1, - const volScalarField& da, - const dimensionedScalar& e -) const -{ - const scalar sqrtPi = sqrt(constant::mathematical::pi); - - return da*sqrt(Theta)* - ( - (4.0/5.0)*sqr(alpha1)*g0*(1.0 + e)/sqrtPi - + (1.0/15.0)*sqrtPi*g0*(1.0 + e)*(3.0*e - 1.0)*sqr(alpha1)/(3.0 - e) - + (1.0/6.0)*alpha1*sqrtPi/(3.0 - e) - ); -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/viscosityModel/Syamlal/SyamlalViscosity.H b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/viscosityModel/Syamlal/SyamlalViscosity.H deleted file mode 100644 index 0d9b819dc1..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/viscosityModel/Syamlal/SyamlalViscosity.H +++ /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-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 . - -Class - Foam::kineticTheoryModels::viscosityModels::Syamlal - -Description - -SourceFiles - SyamlalViscosity.C - -\*---------------------------------------------------------------------------*/ - -#ifndef SyamlalViscosity_H -#define SyamlalViscosity_H - -#include "viscosityModel.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ -namespace kineticTheoryModels -{ -namespace viscosityModels -{ - -/*---------------------------------------------------------------------------*\ - Class Syamlal Declaration -\*---------------------------------------------------------------------------*/ - -class Syamlal -: - public viscosityModel -{ - -public: - - //- Runtime type information - TypeName("Syamlal"); - - - // Constructors - - //- Construct from components - Syamlal(const dictionary& dict); - - - //- Destructor - virtual ~Syamlal(); - - - // Member Functions - - tmp nu - ( - const volScalarField& alpha1, - const volScalarField& Theta, - const volScalarField& g0, - const volScalarField& rho1, - const volScalarField& da, - const dimensionedScalar& e - ) const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace viscosityModels -} // End namespace kineticTheoryModels -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/viscosityModel/none/noneViscosity.C b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/viscosityModel/none/noneViscosity.C deleted file mode 100644 index 3e267d6ec8..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/viscosityModel/none/noneViscosity.C +++ /dev/null @@ -1,75 +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 "noneViscosity.H" -#include "addToRunTimeSelectionTable.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ -namespace kineticTheoryModels -{ - defineTypeNameAndDebug(noneViscosity, 0); - addToRunTimeSelectionTable(viscosityModel, noneViscosity, dictionary); -} -} - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::kineticTheoryModels::noneViscosity::noneViscosity(const dictionary& dict) -: - viscosityModel(dict) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::kineticTheoryModels::noneViscosity::~noneViscosity() -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -Foam::tmp Foam::kineticTheoryModels::noneViscosity::nu -( - const volScalarField& alpha1, - const volScalarField& Theta, - const volScalarField& g0, - const volScalarField& rho1, - const volScalarField& da, - const dimensionedScalar& e -) const -{ - return dimensionedScalar - ( - "0", - dimensionSet(0, 2, -1, 0, 0, 0, 0), - 0.0 - )*alpha1; -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/viscosityModel/none/noneViscosity.H b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/viscosityModel/none/noneViscosity.H deleted file mode 100644 index a37f59d606..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/viscosityModel/none/noneViscosity.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-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 . - -Class - Foam::kineticTheoryModels::noneViscosity - -Description - -SourceFiles - noneViscosity.C - -\*---------------------------------------------------------------------------*/ - -#ifndef noneViscosity_H -#define noneViscosity_H - -#include "viscosityModel.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ -namespace kineticTheoryModels -{ - -/*---------------------------------------------------------------------------*\ - Class noneViscosity Declaration -\*---------------------------------------------------------------------------*/ - -class noneViscosity -: - public viscosityModel -{ - -public: - - //- Runtime type information - TypeName("none"); - - - // Constructors - - //- Construct from components - noneViscosity(const dictionary& dict); - - - //- Destructor - virtual ~noneViscosity(); - - - // Member Functions - - tmp nu - ( - const volScalarField& alpha1, - const volScalarField& Theta, - const volScalarField& g0, - const volScalarField& rho1, - const volScalarField& da, - const dimensionedScalar& e - ) const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace kineticTheoryModels -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/viscosityModel/viscosityModel/newViscosityModel.C b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/viscosityModel/viscosityModel/newViscosityModel.C deleted file mode 100644 index cd98323d50..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/viscosityModel/viscosityModel/newViscosityModel.C +++ /dev/null @@ -1,59 +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 "viscosityModel.H" - -// * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * * // - -Foam::autoPtr -Foam::kineticTheoryModels::viscosityModel::New -( - const dictionary& dict -) -{ - word viscosityModelType(dict.lookup("viscosityModel")); - - Info<< "Selecting viscosityModel " - << viscosityModelType << endl; - - dictionaryConstructorTable::iterator cstrIter = - dictionaryConstructorTablePtr_->find(viscosityModelType); - - if (cstrIter == dictionaryConstructorTablePtr_->end()) - { - FatalError - << "viscosityModel::New(const dictionary&) : " << endl - << " unknown viscosityModelType type " - << viscosityModelType - << ", constructor not in hash table" << endl << endl - << " Valid viscosityModelType types are :" << endl; - Info<< dictionaryConstructorTablePtr_->sortedToc() << abort(FatalError); - } - - return autoPtr(cstrIter()(dict)); -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/viscosityModel/viscosityModel/viscosityModel.C b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/viscosityModel/viscosityModel/viscosityModel.C deleted file mode 100644 index 66047a1abd..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/viscosityModel/viscosityModel/viscosityModel.C +++ /dev/null @@ -1,57 +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 "viscosityModel.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ -namespace kineticTheoryModels -{ - defineTypeNameAndDebug(viscosityModel, 0); - defineRunTimeSelectionTable(viscosityModel, dictionary); -} -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::kineticTheoryModels::viscosityModel::viscosityModel -( - const dictionary& dict -) -: - dict_(dict) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::kineticTheoryModels::viscosityModel::~viscosityModel() -{} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/viscosityModel/viscosityModel/viscosityModel.H b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/viscosityModel/viscosityModel/viscosityModel.H deleted file mode 100644 index e11d0590b5..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/kineticTheoryModels/viscosityModel/viscosityModel/viscosityModel.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-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 . - -Class - Foam::kineticTheoryModels::viscosityModel - -Description - -SourceFiles - viscosityModel.C - -\*---------------------------------------------------------------------------*/ - -#ifndef viscosityModel_H -#define viscosityModel_H - -#include "dictionary.H" -#include "volFields.H" -#include "dimensionedTypes.H" -#include "runTimeSelectionTables.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ -namespace kineticTheoryModels -{ - -/*---------------------------------------------------------------------------*\ - Class viscosityModel Declaration -\*---------------------------------------------------------------------------*/ - -class viscosityModel -{ -protected: - - // Protected data - - const dictionary& dict_; - - -public: - - //- Runtime type information - TypeName("viscosityModel"); - - // Declare runtime constructor selection table - declareRunTimeSelectionTable - ( - autoPtr, - viscosityModel, - dictionary, - ( - const dictionary& dict - ), - (dict) - ); - - - // Constructors - - //- Construct from components - viscosityModel(const dictionary& dict); - - //- Disallow default bitwise copy construction - viscosityModel(const viscosityModel&) = delete; - - - // Selectors - - static autoPtr New - ( - const dictionary& dict - ); - - - //- Destructor - virtual ~viscosityModel(); - - - // Member Functions - - virtual tmp nu - ( - const volScalarField& alpha1, - const volScalarField& Theta, - const volScalarField& g0, - const volScalarField& rho1, - const volScalarField& da, - const dimensionedScalar& e - ) const = 0; - - virtual bool read() - { - return true; - } - - - // Member Operators - - //- Disallow default bitwise assignment - void operator=(const viscosityModel&) = delete; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace kineticTheoryModels -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/phaseCompressibleMomentumTransportModel.H b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/phaseCompressibleMomentumTransportModel.H deleted file mode 100644 index 245e1a5e92..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/phaseCompressibleMomentumTransportModel.H +++ /dev/null @@ -1,71 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2015-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 . - -Typedef - Foam::phaseCompressibleMomentumTransportModel - -Description - Typedef for phaseCompressibleMomentumTransportModel - -\*---------------------------------------------------------------------------*/ - -#ifndef phaseCompressibleMomentumTransportModel_H -#define phaseCompressibleMomentumTransportModel_H - -#include "phaseCompressibleMomentumTransportModelFwd.H" -#include "PhaseCompressibleMomentumTransportModel.H" -#include "phaseModel.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -typedef PhaseCompressibleMomentumTransportModel - phaseCompressibleMomentumTransportModel; - -// template specialisation for TransportTraits -template<> -class TransportTraits -{ -public: - - typedef fluidThermo thermoModel; - - static const thermoModel& thermo(const phaseModel& pm) - { - return pm.thermo(); - } -}; - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/phaseCompressibleMomentumTransportModelFwd.H b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/phaseCompressibleMomentumTransportModelFwd.H deleted file mode 100644 index 18d0365849..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/phaseCompressibleMomentumTransportModelFwd.H +++ /dev/null @@ -1,52 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2015-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 . - -Typedef - Foam::phaseCompressibleMomentumTransportModel - -Description - Forward declaration of typedef for phaseCompressibleMomentumTransportModel - -\*---------------------------------------------------------------------------*/ - -#ifndef phaseCompressibleMomentumTransportModelFwd_H -#define phaseCompressibleMomentumTransportModelFwd_H - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - class phaseModel; - - template - class PhaseCompressibleMomentumTransportModel; - - typedef PhaseCompressibleMomentumTransportModel - phaseCompressibleMomentumTransportModel; -} - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/phaseCompressibleMomentumTransportModels.C b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/phaseCompressibleMomentumTransportModels.C deleted file mode 100644 index dd770c9ff1..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/phaseCompressibleMomentumTransportModels.C +++ /dev/null @@ -1,108 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2014-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 "phaseCompressibleMomentumTransportModel.H" -#include "twoPhaseSystem.H" -#include "addToRunTimeSelectionTable.H" -#include "makeMomentumTransportModel.H" - -#include "laminarModel.H" -#include "RASModel.H" -#include "LESModel.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -makeMomentumTransportModelTypes -( - volScalarField, - volScalarField, - compressibleMomentumTransportModel, - PhaseCompressibleMomentumTransportModel, - phaseModel -); - -makeBaseMomentumTransportModel -( - volScalarField, - volScalarField, - compressibleMomentumTransportModel, - PhaseCompressibleMomentumTransportModel, - phaseModel -); - -#define makeLaminarModel(Type) \ - makeTemplatedLaminarModel \ - (phaseModelPhaseCompressibleMomentumTransportModel, laminar, Type) - -#define makeRASModel(Type) \ - makeTemplatedMomentumTransportModel \ - (phaseModelPhaseCompressibleMomentumTransportModel, RAS, Type) - -#define makeLESModel(Type) \ - makeTemplatedMomentumTransportModel \ - (phaseModelPhaseCompressibleMomentumTransportModel, LES, Type) - -#include "Stokes.H" -makeLaminarModel(Stokes); - -#include "kEpsilon.H" -makeRASModel(kEpsilon); - -#include "kOmegaSST.H" -makeRASModel(kOmegaSST); - -#include "mixtureKEpsilon.H" -makeRASModel(mixtureKEpsilon); - -#include "LaheyKEpsilon.H" -makeRASModel(LaheyKEpsilon); - -#include "continuousGasKEpsilon.H" -makeRASModel(continuousGasKEpsilon); - -#include "Smagorinsky.H" -makeLESModel(Smagorinsky); - -#include "kEqn.H" -makeLESModel(kEqn); - -#include "SmagorinskyZhang.H" -makeLESModel(SmagorinskyZhang); - -#include "NicenoKEqn.H" -makeLESModel(NicenoKEqn); - -#include "continuousGasKEqn.H" -makeLESModel(continuousGasKEqn); - -#include "kineticTheoryModel.H" -makeMomentumTransportModel -(phaseModelPhaseCompressibleMomentumTransportModel, RAS, kineticTheoryModel); - -#include "phasePressureModel.H" -makeMomentumTransportModel -(phaseModelPhaseCompressibleMomentumTransportModel, RAS, phasePressureModel); - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/phasePressureModel/phasePressureModel.C b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/phasePressureModel/phasePressureModel.C deleted file mode 100644 index 3ac914dcff..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/phasePressureModel/phasePressureModel.C +++ /dev/null @@ -1,225 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2013-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 "phasePressureModel.H" -#include "twoPhaseSystem.H" - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::RASModels::phasePressureModel::phasePressureModel -( - const volScalarField& alpha, - const volScalarField& rho, - const volVectorField& U, - const surfaceScalarField& alphaRhoPhi, - const surfaceScalarField& phi, - const phaseModel& phase, - const word& type -) -: - eddyViscosity>> - ( - type, - alpha, - rho, - U, - alphaRhoPhi, - phi, - phase - ), - - alphaMax_(coeffDict_.lookup("alphaMax")), - preAlphaExp_(coeffDict_.lookup("preAlphaExp")), - expMax_(coeffDict_.lookup("expMax")), - g0_ - ( - "g0", - dimensionSet(1, -1, -2, 0, 0), - coeffDict_.lookup("g0") - ) -{ - nut_ == dimensionedScalar(nut_.dimensions(), 0); - - if (type == typeName) - { - printCoeffs(type); - } -} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::RASModels::phasePressureModel::~phasePressureModel() -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -bool Foam::RASModels::phasePressureModel::read() -{ - if - ( - eddyViscosity - < - RASModel> - >::read() - ) - { - coeffDict().lookup("alphaMax") >> alphaMax_; - coeffDict().lookup("preAlphaExp") >> preAlphaExp_; - coeffDict().lookup("expMax") >> expMax_; - g0_.readIfPresent(coeffDict()); - - return true; - } - else - { - return false; - } -} - - -Foam::tmp -Foam::RASModels::phasePressureModel::k() const -{ - NotImplemented; - return nut_; -} - - -Foam::tmp -Foam::RASModels::phasePressureModel::epsilon() const -{ - NotImplemented; - return nut_; -} - - -Foam::tmp -Foam::RASModels::phasePressureModel::sigma() const -{ - return volSymmTensorField::New - ( - IOobject::groupName("R", U_.group()), - mesh_, - dimensioned(dimensionSet(0, 2, -2, 0, 0), Zero) - ); -} - - -Foam::tmp -Foam::RASModels::phasePressureModel::pPrime() const -{ - tmp tpPrime - ( - g0_ - *min - ( - exp(preAlphaExp_*(alpha_ - alphaMax_)), - expMax_ - ) - ); - - volScalarField::Boundary& bpPrime = - tpPrime.ref().boundaryFieldRef(); - - forAll(bpPrime, patchi) - { - if (!bpPrime[patchi].coupled()) - { - bpPrime[patchi] == 0; - } - } - - return tpPrime; -} - - -Foam::tmp -Foam::RASModels::phasePressureModel::pPrimef() const -{ - tmp tpPrime - ( - g0_ - *min - ( - exp(preAlphaExp_*(fvc::interpolate(alpha_) - alphaMax_)), - expMax_ - ) - ); - - surfaceScalarField::Boundary& bpPrime = - tpPrime.ref().boundaryFieldRef(); - - forAll(bpPrime, patchi) - { - if (!bpPrime[patchi].coupled()) - { - bpPrime[patchi] == 0; - } - } - - return tpPrime; -} - - -Foam::tmp -Foam::RASModels::phasePressureModel::devTau() const -{ - return volSymmTensorField::New - ( - IOobject::groupName("devTau", U_.group()), - mesh_, - dimensioned - ( - rho_.dimensions()*dimensionSet(0, 2, -2, 0, 0), - Zero - ) - ); -} - - -Foam::tmp -Foam::RASModels::phasePressureModel::divDevTau -( - volVectorField& U -) const -{ - return tmp - ( - new fvVectorMatrix - ( - U, - rho_.dimensions()*dimensionSet(0, 4, -2, 0, 0) - ) - ); -} - - -void Foam::RASModels::phasePressureModel::correct() -{} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/phasePressureModel/phasePressureModel.H b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/phasePressureModel/phasePressureModel.H deleted file mode 100644 index 5adb793996..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleMomentumTransportModels/phasePressureModel/phasePressureModel.H +++ /dev/null @@ -1,188 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2013-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 . - -Class - Foam::RASModels::phasePressureModel - -Description - Particle-particle phase-pressure RAS model - - The derivative of the phase-pressure with respect to the phase-fraction - is evaluated as - - g0*min(exp(preAlphaExp*(alpha - alphaMax)), expMax) - - The default model coefficients correspond to the following: - \verbatim - phasePressureCoeffs - { - preAlphaExp 500; - expMax 1000; - alphaMax 0.62; - g0 1000; - } - \endverbatim - -SourceFiles - phasePressureModel.C - -\*---------------------------------------------------------------------------*/ - -#ifndef phasePressureModel_H -#define phasePressureModel_H - -#include "RASModel.H" -#include "eddyViscosity.H" -#include "PhaseCompressibleMomentumTransportModel.H" -#include "phaseModel.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ -namespace RASModels -{ - -/*---------------------------------------------------------------------------*\ - Class phasePressureModel Declaration -\*---------------------------------------------------------------------------*/ - -class phasePressureModel -: - public eddyViscosity - < - RASModel> - > -{ - // Private Data - - // Kinetic Theory Model coefficients - - //- Maximum packing phase-fraction - scalar alphaMax_; - - //- Pre-exponential factor - scalar preAlphaExp_; - - //- Maximum limit of the exponential - scalar expMax_; - - //- g0 - dimensionedScalar g0_; - - - // Private Member Functions - - void correctNut() - {} - - -public: - - //- Runtime type information - TypeName("phasePressure"); - - - // Constructors - - //- Construct from components - phasePressureModel - ( - const volScalarField& alpha, - const volScalarField& rho, - const volVectorField& U, - const surfaceScalarField& alphaRhoPhi, - const surfaceScalarField& phi, - const phaseModel& transport, - const word& type = typeName - ); - - //- Disallow default bitwise copy construction - phasePressureModel(const phasePressureModel&) = delete; - - - //- Destructor - virtual ~phasePressureModel(); - - - // Member Functions - - //- Re-read model coefficients if they have changed - virtual bool read(); - - //- Return the effective viscosity - virtual tmp nuEff() const - { - return this->nut(); - } - - //- Return the effective viscosity on patch - virtual tmp nuEff(const label patchi) const - { - return this->nut(patchi); - } - - //- Return the turbulence kinetic energy - virtual tmp k() const; - - //- Return the turbulence kinetic energy dissipation rate - virtual tmp epsilon() const; - - //- Return the stress tensor [m^2/s^2] - virtual tmp sigma() const; - - //- Return the phase-pressure' - // (derivative of phase-pressure w.r.t. phase-fraction) - virtual tmp pPrime() const; - - //- Return the face-phase-pressure' - // (derivative of phase-pressure w.r.t. phase-fraction) - virtual tmp pPrimef() const; - - //- Return the effective stress tensor - virtual tmp devTau() const; - - //- Return the source term for the momentum equation - virtual tmp divDevTau(volVectorField& U) const; - - //- Solve the kinetic theory equations and correct the viscosity - virtual void correct(); - - - // Member Operators - - //- Disallow default bitwise assignment - void operator=(const phasePressureModel&) = delete; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace RASModels -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseThermophysicalTransportModels/Make/files b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseThermophysicalTransportModels/Make/files deleted file mode 100644 index 109b4eca89..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseThermophysicalTransportModels/Make/files +++ /dev/null @@ -1,3 +0,0 @@ -phaseThermophysicalTransportModels.C - -LIB = $(FOAM_LIBBIN)/libphaseTherophysicalTransportModels diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseThermophysicalTransportModels/Make/options b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseThermophysicalTransportModels/Make/options deleted file mode 100644 index 6843760d54..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseThermophysicalTransportModels/Make/options +++ /dev/null @@ -1,16 +0,0 @@ -EXE_INC = \ - -I../twoPhaseSystem/lnInclude \ - -I../interfacialModels/lnInclude \ - -I../phaseCompressibleMomentumTransportModels/lnInclude \ - -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ - -I$(LIB_SRC)/MomentumTransportModels/compressible/lnInclude \ - -I$(LIB_SRC)/MomentumTransportModels/momentumTransportModels/lnInclude \ - -I$(LIB_SRC)/MomentumTransportModels/phaseCompressible/lnInclude \ - -I$(LIB_SRC)/ThermophysicalTransportModels/lnInclude \ - -I$(LIB_SRC)/finiteVolume/lnInclude \ - -I$(LIB_SRC)/meshTools/lnInclude - -LIB_LIBS = \ - -lphaseCompressibleMomentumTransportModels \ - -lthermophysicalTransportModels \ - -lfiniteVolume diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseThermophysicalTransportModels/phaseThermophysicalTransportModels.C b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseThermophysicalTransportModels/phaseThermophysicalTransportModels.C deleted file mode 100644 index 6572a21d65..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseThermophysicalTransportModels/phaseThermophysicalTransportModels.C +++ /dev/null @@ -1,119 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 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 "PhaseThermophysicalTransportModel.H" - -#include "phaseCompressibleMomentumTransportModel.H" -#include "addToRunTimeSelectionTable.H" -#include "makeThermophysicalTransportModel.H" - -#include "laminarThermophysicalTransportModel.H" -#include "RASThermophysicalTransportModel.H" -#include "LESThermophysicalTransportModel.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -makeThermophysicalTransportModelTypes -( - PhaseThermophysicalTransportModel, - phaseCompressibleMomentumTransportModel, - fluidThermo -); - - -makeThermophysicalTransportModels -( - PhaseThermophysicalTransportModel, - phaseCompressibleMomentumTransportModel, - fluidThermo -); - - -#define makeLaminarThermophysicalTransportModel(Type) \ - makeThermophysicalTransportModel \ - ( \ - PhaseThermophysicalTransportModel, \ - phaseCompressibleMomentumTransportModel, \ - fluidThermo, \ - laminar, \ - Type \ - ) - -#define makeRASLESThermophysicalTransportModel(SType, Type) \ - makeTurbulenceThermophysicalTransportModel \ - ( \ - PhaseThermophysicalTransportModel, \ - phaseCompressibleMomentumTransportModel, \ - fluidThermo, \ - SType, \ - Type \ - ) - -#define makeRASThermophysicalTransportModel(Type) \ - makeThermophysicalTransportModel \ - ( \ - PhaseThermophysicalTransportModel, \ - phaseCompressibleMomentumTransportModel, \ - fluidThermo, \ - RAS, \ - Type \ - ) - -#define makeLESThermophysicalTransportModel(Type) \ - makeThermophysicalTransportModel \ - ( \ - PhaseThermophysicalTransportModel, \ - phaseCompressibleMomentumTransportModel, \ - fluidThermo, \ - LES, \ - Type \ - ) - - -// -------------------------------------------------------------------------- // -// Laminar models -// -------------------------------------------------------------------------- // - -#include "Fourier.H" -makeLaminarThermophysicalTransportModel(Fourier); - - -// -------------------------------------------------------------------------- // -// RAS models -// -------------------------------------------------------------------------- // - -#include "eddyDiffusivity.H" -makeRASLESThermophysicalTransportModel(RAS, eddyDiffusivity); - - -// -------------------------------------------------------------------------- // -// LES models -// -------------------------------------------------------------------------- // - -#include "eddyDiffusivity.H" -makeRASLESThermophysicalTransportModel(LES, eddyDiffusivity); - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseEulerFoam.C b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseEulerFoam.C deleted file mode 100644 index c1040924f3..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseEulerFoam.C +++ /dev/null @@ -1,127 +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 - twoPhaseEulerFoam - -Description - Solver for a system of 2 compressible fluid phases with one phase - dispersed, e.g. gas bubbles in a liquid including heat-transfer. - -\*---------------------------------------------------------------------------*/ - -#include "fvCFD.H" -#include "twoPhaseSystem.H" -#include "PhaseCompressibleMomentumTransportModel.H" -#include "pimpleControl.H" -#include "fvOptions.H" -#include "fixedValueFvsPatchFields.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 "createFieldRefs.H" - #include "createTimeControls.H" - #include "CourantNos.H" - #include "setInitialDeltaT.H" - - Switch faceMomentum - ( - pimple.dict().lookupOrDefault("faceMomentum", false) - ); - - Switch implicitPhasePressure - ( - mesh.solverDict(alpha1.name()).lookupOrDefault - ( - "implicitPhasePressure", false - ) - ); - - #include "pUf/createDDtU.H" - #include "pU/createDDtU.H" - - // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - - Info<< "\nStarting time loop\n" << endl; - - while (pimple.run(runTime)) - { - #include "readTimeControls.H" - #include "CourantNos.H" - #include "setDeltaT.H" - - runTime++; - Info<< "Time = " << runTime.timeName() << nl << endl; - - // --- Pressure-velocity PIMPLE corrector loop - while (pimple.loop()) - { - fluid.solve(); - fluid.correct(); - - #include "contErrs.H" - - if (faceMomentum) - { - #include "pUf/UEqns.H" - #include "EEqns.H" - #include "pUf/pEqn.H" - #include "pUf/DDtU.H" - } - else - { - #include "pU/UEqns.H" - #include "EEqns.H" - #include "pU/pEqn.H" - #include "pU/DDtU.H" - } - - if (pimple.turbCorr()) - { - fluid.correctTurbulence(); - } - } - - #include "write.H" - - Info<< "ExecutionTime = " - << runTime.elapsedCpuTime() - << " s\n\n" << endl; - } - - Info<< "End\n" << endl; - - return 0; -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/BlendedInterfacialModel/BlendedInterfacialModel.C b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/BlendedInterfacialModel/BlendedInterfacialModel.C deleted file mode 100644 index 423aa5ca50..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/BlendedInterfacialModel/BlendedInterfacialModel.C +++ /dev/null @@ -1,430 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2014-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 "BlendedInterfacialModel.H" -#include "fixedValueFvsPatchFields.H" -#include "surfaceInterpolate.H" - -// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // - -template -template -void Foam::BlendedInterfacialModel::correctFixedFluxBCs -( - GeometricField& field -) const -{ - typename GeometricField::Boundary& fieldBf = - field.boundaryFieldRef(); - - forAll(pair_.phase1().phi().boundaryField(), patchi) - { - if - ( - isA - ( - pair_.phase1().phi().boundaryField()[patchi] - ) - ) - { - fieldBf[patchi] = Zero; - } - } -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -template -Foam::BlendedInterfacialModel::BlendedInterfacialModel -( - const phasePair::dictTable& modelTable, - const blendingMethod& blending, - const phasePair& pair, - const orderedPhasePair& pair1In2, - const orderedPhasePair& pair2In1, - const bool correctFixedFluxBCs -) -: - pair_(pair), - pair1In2_(pair1In2), - pair2In1_(pair2In1), - blending_(blending), - correctFixedFluxBCs_(correctFixedFluxBCs) -{ - if (modelTable.found(pair_)) - { - model_.set - ( - modelType::New - ( - modelTable[pair_], - pair_ - ).ptr() - ); - } - - if (modelTable.found(pair1In2_)) - { - model1In2_.set - ( - modelType::New - ( - modelTable[pair1In2_], - pair1In2_ - ).ptr() - ); - } - - if (modelTable.found(pair2In1_)) - { - model2In1_.set - ( - modelType::New - ( - modelTable[pair2In1_], - pair2In1_ - ).ptr() - ); - } -} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -template -Foam::BlendedInterfacialModel::~BlendedInterfacialModel() -{} - - -// * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * // - -template -Foam::tmp -Foam::BlendedInterfacialModel::K() const -{ - tmp f1, f2; - - if (model_.valid() || model1In2_.valid()) - { - f1 = blending_.f1(pair1In2_.dispersed(), pair2In1_.dispersed()); - } - - if (model_.valid() || model2In1_.valid()) - { - f2 = blending_.f2(pair1In2_.dispersed(), pair2In1_.dispersed()); - } - - tmp x - ( - volScalarField::New - ( - modelType::typeName + ":K", - pair_.phase1().mesh(), - dimensionedScalar(modelType::dimK, 0) - ) - ); - - if (model_.valid()) - { - x.ref() += model_->K()*(f1() - f2()); - } - - if (model1In2_.valid()) - { - x.ref() += model1In2_->K()*(1 - f1); - } - - if (model2In1_.valid()) - { - x.ref() += model2In1_->K()*f2; - } - - if - ( - correctFixedFluxBCs_ - && (model_.valid() || model1In2_.valid() || model2In1_.valid()) - ) - { - correctFixedFluxBCs(x.ref()); - } - - return x; -} - - -template -Foam::tmp -Foam::BlendedInterfacialModel::Kf() const -{ - tmp f1, f2; - - if (model_.valid() || model1In2_.valid()) - { - f1 = fvc::interpolate - ( - blending_.f1(pair1In2_.dispersed(), pair2In1_.dispersed()) - ); - } - - if (model_.valid() || model2In1_.valid()) - { - f2 = fvc::interpolate - ( - blending_.f2(pair1In2_.dispersed(), pair2In1_.dispersed()) - ); - } - - tmp x - ( - surfaceScalarField::New - ( - modelType::typeName + ":Kf", - pair_.phase1().mesh(), - dimensionedScalar(modelType::dimK, 0) - ) - ); - - if (model_.valid()) - { - x.ref() += model_->Kf()*(f1() - f2()); - } - - if (model1In2_.valid()) - { - x.ref() += model1In2_->Kf()*(1 - f1); - } - - if (model2In1_.valid()) - { - x.ref() += model2In1_->Kf()*f2; - } - - if - ( - correctFixedFluxBCs_ - && (model_.valid() || model1In2_.valid() || model2In1_.valid()) - ) - { - correctFixedFluxBCs(x.ref()); - } - - return x; -} - - -template -template -Foam::tmp> -Foam::BlendedInterfacialModel::F() const -{ - tmp f1, f2; - - if (model_.valid() || model1In2_.valid()) - { - f1 = blending_.f1(pair1In2_.dispersed(), pair2In1_.dispersed()); - } - - if (model_.valid() || model2In1_.valid()) - { - f2 = blending_.f2(pair1In2_.dispersed(), pair2In1_.dispersed()); - } - - tmp> x - ( - GeometricField::New - ( - modelType::typeName + ":F", - pair_.phase1().mesh(), - dimensioned("zero", modelType::dimF, Zero) - ) - ); - - if (model_.valid()) - { - x.ref() += model_->F()*(f1() - f2()); - } - - if (model1In2_.valid()) - { - x.ref() += model1In2_->F()*(1 - f1); - } - - if (model2In1_.valid()) - { - x.ref() -= model2In1_->F()*f2; // note : subtraction - } - - if - ( - correctFixedFluxBCs_ - && (model_.valid() || model1In2_.valid() || model2In1_.valid()) - ) - { - correctFixedFluxBCs(x.ref()); - } - - return x; -} - - -template -Foam::tmp -Foam::BlendedInterfacialModel::Ff() const -{ - tmp f1, f2; - - if (model_.valid() || model1In2_.valid()) - { - f1 = fvc::interpolate - ( - blending_.f1(pair1In2_.dispersed(), pair2In1_.dispersed()) - ); - } - - if (model_.valid() || model2In1_.valid()) - { - f2 = fvc::interpolate - ( - blending_.f2(pair1In2_.dispersed(), pair2In1_.dispersed()) - ); - } - - tmp x - ( - surfaceScalarField::New - ( - modelType::typeName + ":Ff", - pair_.phase1().mesh(), - dimensionedScalar(modelType::dimF*dimArea, 0) - ) - ); - - if (model_.valid()) - { - x.ref() += model_->Ff()*(f1() - f2()); - } - - if (model1In2_.valid()) - { - x.ref() += model1In2_->Ff()*(1 - f1); - } - - if (model2In1_.valid()) - { - x.ref() -= model2In1_->Ff()*f2; // note : subtraction - } - - if - ( - correctFixedFluxBCs_ - && (model_.valid() || model1In2_.valid() || model2In1_.valid()) - ) - { - correctFixedFluxBCs(x.ref()); - } - - return x; -} - - -template -Foam::tmp -Foam::BlendedInterfacialModel::D() const -{ - tmp f1, f2; - - if (model_.valid() || model1In2_.valid()) - { - f1 = blending_.f1(pair1In2_.dispersed(), pair2In1_.dispersed()); - } - - if (model_.valid() || model2In1_.valid()) - { - f2 = blending_.f2(pair1In2_.dispersed(), pair2In1_.dispersed()); - } - - tmp x - ( - volScalarField::New - ( - modelType::typeName + ":D", - pair_.phase1().mesh(), - dimensionedScalar(modelType::dimD, 0) - ) - ); - - if (model_.valid()) - { - x.ref() += model_->D()*(f1() - f2()); - } - - if (model1In2_.valid()) - { - x.ref() += model1In2_->D()*(1 - f1); - } - - if (model2In1_.valid()) - { - x.ref() += model2In1_->D()*f2; - } - - if - ( - correctFixedFluxBCs_ - && (model_.valid() || model1In2_.valid() || model2In1_.valid()) - ) - { - correctFixedFluxBCs(x.ref()); - } - - return x; -} - - -template -bool Foam::BlendedInterfacialModel::hasModel -( - const class phaseModel& phase -) const -{ - return - &phase == &(pair_.phase1()) - ? model1In2_.valid() - : model2In1_.valid(); -} - - -template -const modelType& Foam::BlendedInterfacialModel::phaseModel -( - const class phaseModel& phase -) const -{ - return &phase == &(pair_.phase1()) ? model1In2_ : model2In1_; -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/BlendedInterfacialModel/BlendedInterfacialModel.H b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/BlendedInterfacialModel/BlendedInterfacialModel.H deleted file mode 100644 index 7eb5012e97..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/BlendedInterfacialModel/BlendedInterfacialModel.H +++ /dev/null @@ -1,161 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2014-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::BlendedInterfacialModel - -Description - -SourceFiles - BlendedInterfacialModel.C - -\*---------------------------------------------------------------------------*/ - -#ifndef BlendedInterfacialModel_H -#define BlendedInterfacialModel_H - -#include "blendingMethod.H" -#include "phasePair.H" -#include "orderedPhasePair.H" - -#include "geometricZeroField.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -/*---------------------------------------------------------------------------*\ - Class BlendedInterfacialModel Declaration -\*---------------------------------------------------------------------------*/ - -template -class BlendedInterfacialModel -{ - // Private Data - - //- Unordered phase pair - const phasePair& pair_; - - //- Ordered phase pair for dispersed phase 1 in continuous phase 2 - const orderedPhasePair& pair1In2_; - - //- Ordered phase pair for dispersed phase 2 in continuous phase 1 - const orderedPhasePair& pair2In1_; - - //- Model for region with no obvious dispersed phase - autoPtr model_; - - //- Model for dispersed phase 1 in continuous phase 2 - autoPtr model1In2_; - - //- Model for dispersed phase 2 in continuous phase 1 - autoPtr model2In1_; - - //- Blending model - const blendingMethod& blending_; - - //- If true set coefficients and forces to 0 at fixed-flux BCs - bool correctFixedFluxBCs_; - - - // Private Member Functions - - //- Correct coeff/value on fixed flux boundary conditions - template - void correctFixedFluxBCs(GeometricField& field) const; - - -public: - - // Constructors - - //- Construct from the model table, dictionary and pairs - BlendedInterfacialModel - ( - const phasePair::dictTable& modelTable, - const blendingMethod& blending, - const phasePair& pair, - const orderedPhasePair& pair1In2, - const orderedPhasePair& pair2In1, - const bool correctFixedFluxBCs = true - ); - - //- Disallow default bitwise copy construction - BlendedInterfacialModel - ( - const BlendedInterfacialModel& - ) = delete; - - - //- Destructor - ~BlendedInterfacialModel(); - - - // Member Functions - - //- Return true if a model is specified for the supplied phase - bool hasModel(const phaseModel& phase) const; - - //- Return the model for the supplied phase - const modelType& phaseModel(const phaseModel& phase) const; - - //- Return the blended force coefficient - tmp K() const; - - //- Return the face blended force coefficient - tmp Kf() const; - - //- Return the blended force - template - tmp> F() const; - - //- Return the face blended force - tmp Ff() const; - - //- Return the blended diffusivity - tmp D() const; - - - // Member Operators - - //- Disallow default bitwise assignment - void operator=(const BlendedInterfacialModel&) = delete; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#ifdef NoRepository - #include "BlendedInterfacialModel.C" -#endif - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/BlendedInterfacialModel/blendingMethods/blendingMethod/blendingMethod.C b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/BlendedInterfacialModel/blendingMethods/blendingMethod/blendingMethod.C deleted file mode 100644 index 6313247a5f..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/BlendedInterfacialModel/blendingMethods/blendingMethod/blendingMethod.C +++ /dev/null @@ -1,52 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2014-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 "blendingMethod.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ - defineTypeNameAndDebug(blendingMethod, 0); - defineRunTimeSelectionTable(blendingMethod, dictionary); -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::blendingMethod::blendingMethod -( - const dictionary& dict -) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::blendingMethod::~blendingMethod() -{} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/BlendedInterfacialModel/blendingMethods/blendingMethod/blendingMethod.H b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/BlendedInterfacialModel/blendingMethods/blendingMethod/blendingMethod.H deleted file mode 100644 index 40bade85d0..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/BlendedInterfacialModel/blendingMethods/blendingMethod/blendingMethod.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) 2014-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::blendingMethod - -Description - -SourceFiles - blendingMethod.C - -\*---------------------------------------------------------------------------*/ - -#ifndef blendingMethod_H -#define blendingMethod_H - -#include "dictionary.H" -#include "runTimeSelectionTables.H" -#include "phaseModel.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -/*---------------------------------------------------------------------------*\ - Class blendingMethod Declaration -\*---------------------------------------------------------------------------*/ - -class blendingMethod -{ -public: - - //- Runtime type information - TypeName("blendingMethod"); - - - // Declare runtime construction - declareRunTimeSelectionTable - ( - autoPtr, - blendingMethod, - dictionary, - ( - const dictionary& dict, - const wordList& phaseNames - ), - (dict, phaseNames) - ); - - - // Constructors - - //- Construct from a dictionary - blendingMethod - ( - const dictionary& dict - ); - - - // Selector - - static autoPtr New - ( - const dictionary& dict, - const wordList& phaseNames - ); - - - //- Destructor - virtual ~blendingMethod(); - - - // Member Functions - - //- Factor for first phase - virtual tmp f1 - ( - const phaseModel& phase1, - const phaseModel& phase2 - ) const = 0; - - //- Factor for second phase - virtual tmp f2 - ( - const phaseModel& phase1, - const phaseModel& phase2 - ) const = 0; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/BlendedInterfacialModel/blendingMethods/blendingMethod/newBlendingMethod.C b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/BlendedInterfacialModel/blendingMethods/blendingMethod/newBlendingMethod.C deleted file mode 100644 index f6e59677be..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/BlendedInterfacialModel/blendingMethods/blendingMethod/newBlendingMethod.C +++ /dev/null @@ -1,58 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2014-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 "blendingMethod.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -Foam::autoPtr Foam::blendingMethod::New -( - const dictionary& dict, - const wordList& phaseNames -) -{ - word blendingMethodType(dict.lookup("type")); - - Info<< "Selecting " << dict.dictName() << " blending method: " - << blendingMethodType << endl; - - dictionaryConstructorTable::iterator cstrIter = - dictionaryConstructorTablePtr_->find(blendingMethodType); - - if (cstrIter == dictionaryConstructorTablePtr_->end()) - { - FatalErrorInFunction - << "Unknown blendingMethodType type " - << blendingMethodType << endl << endl - << "Valid blendingMethod types are : " << endl - << dictionaryConstructorTablePtr_->sortedToc() - << exit(FatalError); - } - - return cstrIter()(dict, phaseNames); -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/BlendedInterfacialModel/blendingMethods/hyperbolic/hyperbolic.C b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/BlendedInterfacialModel/blendingMethods/hyperbolic/hyperbolic.C deleted file mode 100644 index fb8ee7c3cf..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/BlendedInterfacialModel/blendingMethods/hyperbolic/hyperbolic.C +++ /dev/null @@ -1,124 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2014-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 "hyperbolic.H" -#include "addToRunTimeSelectionTable.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ -namespace blendingMethods -{ - defineTypeNameAndDebug(hyperbolic, 0); - - addToRunTimeSelectionTable - ( - blendingMethod, - hyperbolic, - dictionary - ); -} -} - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::blendingMethods::hyperbolic::hyperbolic -( - const dictionary& dict, - const wordList& phaseNames -) -: - blendingMethod(dict), - transitionAlphaScale_ - ( - "transitionAlphaScale", - dimless, - dict.lookup("transitionAlphaScale") - ) -{ - forAllConstIter(wordList, phaseNames, iter) - { - const word name(IOobject::groupName("maxDispersedAlpha", *iter)); - - maxDispersedAlpha_.insert - ( - *iter, - dimensionedScalar - ( - name, - dimless, - dict.lookup(name) - ) - ); - } -} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::blendingMethods::hyperbolic::~hyperbolic() -{} - - -// * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * // - -Foam::tmp Foam::blendingMethods::hyperbolic::f1 -( - const phaseModel& phase1, - const phaseModel& phase2 -) const -{ - return - ( - 1 - + tanh - ( - (4/transitionAlphaScale_) - *(phase1 - maxDispersedAlpha_[phase1.name()]) - ) - )/2; -} - - -Foam::tmp Foam::blendingMethods::hyperbolic::f2 -( - const phaseModel& phase1, - const phaseModel& phase2 -) const -{ - return - ( - 1 - + tanh - ( - (4/transitionAlphaScale_) - *(maxDispersedAlpha_[phase2.name()] - phase2) - ) - )/2; -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/BlendedInterfacialModel/blendingMethods/hyperbolic/hyperbolic.H b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/BlendedInterfacialModel/blendingMethods/hyperbolic/hyperbolic.H deleted file mode 100644 index a6b4545e5f..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/BlendedInterfacialModel/blendingMethods/hyperbolic/hyperbolic.H +++ /dev/null @@ -1,110 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2014-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::blendingMethods::hyperbolic - -Description - -SourceFiles - hyperbolic.C - -\*---------------------------------------------------------------------------*/ - -#ifndef hyperbolic_H -#define hyperbolic_H - -#include "blendingMethod.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ -namespace blendingMethods -{ - -/*---------------------------------------------------------------------------*\ - Class hyperbolic Declaration -\*---------------------------------------------------------------------------*/ - -class hyperbolic -: - public blendingMethod -{ - // Private Data - - //- Maximum fraction of phases which can be considered dispersed - HashTable maxDispersedAlpha_; - - //- Width of the transition - const dimensionedScalar transitionAlphaScale_; - - -public: - - //- Runtime type information - TypeName("hyperbolic"); - - - // Constructors - - //- Construct from a dictionary and a list of phase names - hyperbolic - ( - const dictionary& dict, - const wordList& phaseNames - ); - - - //- Destructor - ~hyperbolic(); - - - // Member Functions - - //- Factor for first phase - virtual tmp f1 - ( - const phaseModel& phase1, - const phaseModel& phase2 - ) const; - - //- Factor for second phase - virtual tmp f2 - ( - const phaseModel& phase1, - const phaseModel& phase2 - ) const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace blendingMethods -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/BlendedInterfacialModel/blendingMethods/linear/linear.C b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/BlendedInterfacialModel/blendingMethods/linear/linear.C deleted file mode 100644 index 8b9f690e93..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/BlendedInterfacialModel/blendingMethods/linear/linear.C +++ /dev/null @@ -1,164 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2014-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 "linear.H" -#include "addToRunTimeSelectionTable.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ -namespace blendingMethods -{ - defineTypeNameAndDebug(linear, 0); - - addToRunTimeSelectionTable - ( - blendingMethod, - linear, - dictionary - ); -} -} - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::blendingMethods::linear::linear -( - const dictionary& dict, - const wordList& phaseNames -) -: - blendingMethod(dict) -{ - forAllConstIter(wordList, phaseNames, iter) - { - const word nameFull - ( - IOobject::groupName("maxFullyDispersedAlpha", *iter) - ); - - maxFullyDispersedAlpha_.insert - ( - *iter, - dimensionedScalar - ( - nameFull, - dimless, - dict.lookup(nameFull) - ) - ); - - const word namePart - ( - IOobject::groupName("maxPartlyDispersedAlpha", *iter) - ); - - maxPartlyDispersedAlpha_.insert - ( - *iter, - dimensionedScalar - ( - namePart, - dimless, - dict.lookup(namePart) - ) - ); - - if - ( - maxFullyDispersedAlpha_[*iter] - > maxPartlyDispersedAlpha_[*iter] - ) - { - FatalErrorInFunction - << "The supplied fully dispersed volume fraction for " - << *iter - << " is greater than the partly dispersed value." - << endl << exit(FatalError); - } - } -} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::blendingMethods::linear::~linear() -{} - - -// * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * // - -Foam::tmp Foam::blendingMethods::linear::f1 -( - const phaseModel& phase1, - const phaseModel& phase2 -) const -{ - const dimensionedScalar - maxFullAlpha(maxFullyDispersedAlpha_[phase1.name()]); - const dimensionedScalar - maxPartAlpha(maxPartlyDispersedAlpha_[phase1.name()]); - - return - min - ( - max - ( - (phase1 - maxFullAlpha) - /(maxPartAlpha - maxFullAlpha + small), - scalar(0) - ), - scalar(1) - ); -} - - -Foam::tmp Foam::blendingMethods::linear::f2 -( - const phaseModel& phase1, - const phaseModel& phase2 -) const -{ - const dimensionedScalar - maxFullAlpha(maxFullyDispersedAlpha_[phase2.name()]); - const dimensionedScalar - maxPartAlpha(maxPartlyDispersedAlpha_[phase2.name()]); - - return - min - ( - max - ( - (maxPartAlpha - phase2) - /(maxPartAlpha - maxFullAlpha + small), - scalar(0) - ), - scalar(1) - ); -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/BlendedInterfacialModel/blendingMethods/linear/linear.H b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/BlendedInterfacialModel/blendingMethods/linear/linear.H deleted file mode 100644 index d262cf6ba7..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/BlendedInterfacialModel/blendingMethods/linear/linear.H +++ /dev/null @@ -1,112 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2014-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::blendingMethods::linear - -Description - -SourceFiles - linear.C - -\*---------------------------------------------------------------------------*/ - -#ifndef linear_H -#define linear_H - -#include "blendingMethod.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ -namespace blendingMethods -{ - -/*---------------------------------------------------------------------------*\ - Class linear Declaration -\*---------------------------------------------------------------------------*/ - -class linear -: - public blendingMethod -{ - // Private Data - - //- Maximum fraction of phases which can be considered fully dispersed - HashTable - maxFullyDispersedAlpha_; - - //- Maximum fraction of phases which can be considered partly dispersed - HashTable - maxPartlyDispersedAlpha_; - - -public: - - //- Runtime type information - TypeName("linear"); - - - // Constructors - - //- Construct from a dictionary and two phases - linear - ( - const dictionary& dict, - const wordList& phaseNames - ); - - - //- Destructor - ~linear(); - - - // Member Functions - - //- Factor for primary phase - virtual tmp f1 - ( - const phaseModel& phase1, - const phaseModel& phase2 - ) const; - - //- Factor for secondary phase - virtual tmp f2 - ( - const phaseModel& phase1, - const phaseModel& phase2 - ) const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace blendingMethods -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/BlendedInterfacialModel/blendingMethods/noBlending/noBlending.C b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/BlendedInterfacialModel/blendingMethods/noBlending/noBlending.C deleted file mode 100644 index df10ab2e15..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/BlendedInterfacialModel/blendingMethods/noBlending/noBlending.C +++ /dev/null @@ -1,101 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2014-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 "noBlending.H" -#include "addToRunTimeSelectionTable.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ -namespace blendingMethods -{ - defineTypeNameAndDebug(noBlending, 0); - - addToRunTimeSelectionTable - ( - blendingMethod, - noBlending, - dictionary - ); -} -} - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::blendingMethods::noBlending::noBlending -( - const dictionary& dict, - const wordList& phaseNames -) -: - blendingMethod(dict), - continuousPhase_(dict.lookup("continuousPhase")) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::blendingMethods::noBlending::~noBlending() -{} - - -// * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * // - -Foam::tmp Foam::blendingMethods::noBlending::f1 -( - const phaseModel& phase1, - const phaseModel& phase2 -) const -{ - const fvMesh& mesh(phase1.mesh()); - - return volScalarField::New - ( - "f", - mesh, - dimensionedScalar(dimless, phase2.name() != continuousPhase_) - ); -} - - -Foam::tmp Foam::blendingMethods::noBlending::f2 -( - const phaseModel& phase1, - const phaseModel& phase2 -) const -{ - const fvMesh& mesh(phase1.mesh()); - - return volScalarField::New - ( - "f", - mesh, - dimensionedScalar(dimless, phase1.name() == continuousPhase_) - ); -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/BlendedInterfacialModel/blendingMethods/noBlending/noBlending.H b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/BlendedInterfacialModel/blendingMethods/noBlending/noBlending.H deleted file mode 100644 index 7f47391fc9..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/BlendedInterfacialModel/blendingMethods/noBlending/noBlending.H +++ /dev/null @@ -1,107 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2014-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::blendingMethods::noBlending - -Description - -SourceFiles - noBlending.C - -\*---------------------------------------------------------------------------*/ - -#ifndef noBlending_H -#define noBlending_H - -#include "blendingMethod.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ -namespace blendingMethods -{ - -/*---------------------------------------------------------------------------*\ - Class noBlending Declaration -\*---------------------------------------------------------------------------*/ - -class noBlending -: - public blendingMethod -{ - // Private Data - - //- Name of the continuous phase - const word continuousPhase_; - - -public: - - //- Runtime type information - TypeName("none"); - - - // Constructors - - //- Construct from a dictionary and two phases - noBlending - ( - const dictionary& dict, - const wordList& phaseNames - ); - - - //- Destructor - ~noBlending(); - - - // Member Functions - - //- Factor for primary phase - virtual tmp f1 - ( - const phaseModel& phase1, - const phaseModel& phase2 - ) const; - - //- Factor for secondary phase - virtual tmp f2 - ( - const phaseModel& phase1, - const phaseModel& phase2 - ) const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace blendingMethods -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/Make/files b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/Make/files deleted file mode 100644 index 8ca75b46ee..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/Make/files +++ /dev/null @@ -1,25 +0,0 @@ -phaseModel/phaseModel.C -diameterModels/diameterModel/diameterModel.C -diameterModels/diameterModel/newDiameterModel.C -diameterModels/constantDiameter/constantDiameter.C -diameterModels/isothermalDiameter/isothermalDiameter.C - -diameterModels/IATE/IATE.C -diameterModels/IATE/IATEsources/IATEsource/IATEsource.C -diameterModels/IATE/IATEsources/wakeEntrainmentCoalescence/wakeEntrainmentCoalescence.C -diameterModels/IATE/IATEsources/turbulentBreakUp/turbulentBreakUp.C -diameterModels/IATE/IATEsources/randomCoalescence/randomCoalescence.C - -BlendedInterfacialModel/blendingMethods/blendingMethod/blendingMethod.C -BlendedInterfacialModel/blendingMethods/blendingMethod/newBlendingMethod.C -BlendedInterfacialModel/blendingMethods/noBlending/noBlending.C -BlendedInterfacialModel/blendingMethods/linear/linear.C -BlendedInterfacialModel/blendingMethods/hyperbolic/hyperbolic.C - -phasePair/phasePairKey/phasePairKey.C -phasePair/phasePair/phasePair.C -phasePair/orderedPhasePair/orderedPhasePair.C - -twoPhaseSystem.C - -LIB = $(FOAM_LIBBIN)/libcompressibleTwoPhaseSystem diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/Make/options b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/Make/options deleted file mode 100644 index 85d7b698e4..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/Make/options +++ /dev/null @@ -1,14 +0,0 @@ -EXE_INC = \ - -I../interfacialModels/lnInclude \ - -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ - -I$(LIB_SRC)/MomentumTransportModels/momentumTransportModels/lnInclude \ - -I$(LIB_SRC)/MomentumTransportModels/compressible/lnInclude \ - -I$(LIB_SRC)/MomentumTransportModels/phaseCompressible/lnInclude \ - -I$(LIB_SRC)/finiteVolume/lnInclude \ - -I$(LIB_SRC)/meshTools/lnInclude \ - -I$(LIB_SRC)/sampling/lnInclude - -LIB_LIBS = \ - -lincompressibleTransportModels \ - -lfluidThermophysicalModels \ - -lspecie diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATE.C b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATE.C deleted file mode 100644 index f49e07f057..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATE.C +++ /dev/null @@ -1,201 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2013-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 "IATE.H" -#include "IATEsource.H" -#include "twoPhaseSystem.H" -#include "fvmDdt.H" -#include "fvmDiv.H" -#include "fvmSup.H" -#include "fvcDdt.H" -#include "fvcDiv.H" -#include "fvcAverage.H" -#include "fvOptions.H" -#include "mathematicalConstants.H" -#include "fundamentalConstants.H" -#include "addToRunTimeSelectionTable.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ -namespace diameterModels -{ - defineTypeNameAndDebug(IATE, 0); - - addToRunTimeSelectionTable - ( - diameterModel, - IATE, - dictionary - ); -} -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::diameterModels::IATE::IATE -( - const dictionary& diameterProperties, - const phaseModel& phase -) -: - diameterModel(diameterProperties, phase), - kappai_ - ( - IOobject - ( - IOobject::groupName("kappai", phase.name()), - phase_.U().time().timeName(), - phase_.U().mesh(), - IOobject::MUST_READ, - IOobject::AUTO_WRITE - ), - phase_.U().mesh() - ), - dMax_("dMax", dimLength, diameterProperties_), - dMin_("dMin", dimLength, diameterProperties_), - residualAlpha_ - ( - "residualAlpha", - dimless, - diameterProperties_ - ), - d_ - ( - IOobject - ( - IOobject::groupName("d", phase.name()), - phase_.U().time().timeName(), - phase_.U().mesh(), - IOobject::NO_READ, - IOobject::AUTO_WRITE - ), - dsm() - ), - sources_ - ( - diameterProperties_.lookup("sources"), - IATEsource::iNew(*this) - ) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::diameterModels::IATE::~IATE() -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -Foam::tmp Foam::diameterModels::IATE::dsm() const -{ - return max(6/max(kappai_, 6/dMax_), dMin_); -} - -// Placeholder for the nucleation/condensation model -// Foam::tmp Foam::diameterModels::IATE::Rph() const -// { -// const volScalarField& T = phase_.thermo().T(); -// const volScalarField& p = phase_.thermo().p(); -// -// scalar A, B, C, sigma, vm, Rph; -// -// volScalarField ps(1e5*pow(10, A - B/(T + C))); -// volScalarField Dbc -// ( -// 4*sigma*vm/(constant::physicoChemical::k*T*log(p/ps)) -// ); -// -// return constant::mathematical::pi*sqr(Dbc)*Rph; -// } - -void Foam::diameterModels::IATE::correct() -{ - // Initialise the accumulated source term to the dilatation effect - volScalarField R - ( - ( - (1.0/3.0) - /max - ( - 0.5*fvc::average(phase_ + phase_.oldTime()), - residualAlpha_ - ) - ) - *(fvc::ddt(phase_) + fvc::div(phase_.alphaPhi())) - ); - - // Accumulate the run-time selectable sources - forAll(sources_, j) - { - R -= sources_[j].R(); - } - - fv::options& fvOptions(fv::options::New(phase_.mesh())); - - // Construct the interfacial curvature equation - fvScalarMatrix kappaiEqn - ( - fvm::ddt(kappai_) + fvm::div(phase_.phi(), kappai_) - - fvm::Sp(fvc::div(phase_.phi()), kappai_) - == - - fvm::SuSp(R, kappai_) - //+ Rph() // Omit the nucleation/condensation term - + fvOptions(kappai_) - ); - - kappaiEqn.relax(); - - fvOptions.constrain(kappaiEqn); - - kappaiEqn.solve(); - - // Update the Sauter-mean diameter - d_ = dsm(); -} - - -bool Foam::diameterModels::IATE::read(const dictionary& phaseProperties) -{ - diameterModel::read(phaseProperties); - - diameterProperties_.lookup("dMax") >> dMax_; - diameterProperties_.lookup("dMin") >> dMin_; - - // Re-create all the sources updating number, type and coefficients - PtrList - ( - diameterProperties_.lookup("sources"), - IATEsource::iNew(*this) - ).transfer(sources_); - - return true; -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATE.H b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATE.H deleted file mode 100644 index 1db6256eee..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATE.H +++ /dev/null @@ -1,155 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2013-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::IATE - -Description - IATE (Interfacial Area Transport Equation) bubble diameter model. - - Solves for the interfacial curvature per unit volume of the phase rather - than interfacial area per unit volume to avoid stability issues relating to - the consistency requirements between the phase fraction and interfacial area - per unit volume. In every other respect this model is as presented in the - paper: - - \verbatim - "Development of Interfacial Area Transport Equation" - Ishii, M., Kim, S. and Kelly, J., - Nuclear Engineering and Technology, Vol.37 No.6 December 2005 - \endverbatim - -SourceFiles - IATE.C - -\*---------------------------------------------------------------------------*/ - -#ifndef IATE_H -#define IATE_H - -#include "diameterModel.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ -namespace diameterModels -{ - -// Forward declaration of classes -class IATEsource; - -/*---------------------------------------------------------------------------*\ - Class IATE Declaration -\*---------------------------------------------------------------------------*/ - -class IATE -: - public diameterModel -{ - // Private Data - - //- Interfacial curvature (alpha*interfacial area) - volScalarField kappai_; - - //- Maximum diameter used for stabilisation in the limit kappai->0 - dimensionedScalar dMax_; - - //- Minimum diameter used for stabilisation in the limit kappai->inf - dimensionedScalar dMin_; - - //- Residual phase fraction - dimensionedScalar residualAlpha_; - - //- The Sauter-mean diameter of the phase - volScalarField d_; - - //- IATE sources - PtrList sources_; - - - // Private Member Functions - - tmp dsm() const; - - -public: - - friend class IATEsource; - - //- Runtime type information - TypeName("IATE"); - - - // Constructors - - //- Construct from components - IATE - ( - const dictionary& diameterProperties, - const phaseModel& phase - ); - - - //- Destructor - virtual ~IATE(); - - - // Member Functions - - //- Return the interfacial curvature - const volScalarField& kappai() const - { - return kappai_; - } - - //- Return the interfacial area - tmp a() const - { - return phase_*kappai_; - } - - //- Return the Sauter-mean diameter - virtual tmp d() const - { - return d_; - } - - //- Correct the diameter field - virtual void correct(); - - //- Read phaseProperties dictionary - virtual bool read(const dictionary& phaseProperties); -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace diameterModels -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/IATEsource/IATEsource.C b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/IATEsource/IATEsource.C deleted file mode 100644 index 459389209d..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/IATEsource/IATEsource.C +++ /dev/null @@ -1,144 +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 "IATEsource.H" -#include "twoPhaseSystem.H" -#include "fvMatrix.H" -#include "PhaseCompressibleMomentumTransportModel.H" -#include "uniformDimensionedFields.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ -namespace diameterModels -{ - defineTypeNameAndDebug(IATEsource, 0); - defineRunTimeSelectionTable(IATEsource, dictionary); -} -} - - -// * * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * // - -Foam::autoPtr -Foam::diameterModels::IATEsource::New -( - const word& type, - const IATE& iate, - const dictionary& dict -) -{ - dictionaryConstructorTable::iterator cstrIter = - dictionaryConstructorTablePtr_->find(type); - - if (cstrIter == dictionaryConstructorTablePtr_->end()) - { - FatalErrorInFunction - << "Unknown IATE source type " - << type << nl << nl - << "Valid IATE source types : " << endl - << dictionaryConstructorTablePtr_->sortedToc() - << exit(FatalError); - } - - return autoPtr(cstrIter()(iate, dict)); -} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -Foam::tmp Foam::diameterModels::IATEsource::Ur() const -{ - const uniformDimensionedVectorField& g = - phase().U().db().lookupObject("g"); - - return - sqrt(2.0) - *pow025 - ( - fluid().sigma()*mag(g) - *(otherPhase().rho() - phase().rho()) - /sqr(otherPhase().rho()) - ) - *pow(max(1 - phase(), scalar(0)), 1.75); -} - -Foam::tmp Foam::diameterModels::IATEsource::Ut() const -{ - return sqrt(2*otherPhase().turbulence().k()); -} - -Foam::tmp Foam::diameterModels::IATEsource::Re() const -{ - return max(Ur()*phase().d()/otherPhase().nu(), scalar(1.0e-3)); -} - -Foam::tmp Foam::diameterModels::IATEsource::CD() const -{ - const volScalarField Eo(this->Eo()); - const volScalarField Re(this->Re()); - - return - max - ( - min - ( - (16/Re)*(1 + 0.15*pow(Re, 0.687)), - 48/Re - ), - 8*Eo/(3*(Eo + 4)) - ); -} - -Foam::tmp Foam::diameterModels::IATEsource::Mo() const -{ - const uniformDimensionedVectorField& g = - phase().U().db().lookupObject("g"); - - return - mag(g)*pow4(otherPhase().nu())*sqr(otherPhase().rho()) - *(otherPhase().rho() - phase().rho()) - /pow3(fluid().sigma()); -} - -Foam::tmp Foam::diameterModels::IATEsource::Eo() const -{ - const uniformDimensionedVectorField& g = - phase().U().db().lookupObject("g"); - - return - mag(g)*sqr(phase().d()) - *(otherPhase().rho() - phase().rho()) - /fluid().sigma(); -} - -Foam::tmp Foam::diameterModels::IATEsource::We() const -{ - return otherPhase().rho()*sqr(Ur())*phase().d()/fluid().sigma(); -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/IATEsource/IATEsource.H b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/IATEsource/IATEsource.H deleted file mode 100644 index d390f0b4d7..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/IATEsource/IATEsource.H +++ /dev/null @@ -1,192 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2013-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::diameterModels::IATEsource - -Description - IATE (Interfacial Area Transport Equation) bubble diameter model - run-time selectable sources. - -SourceFiles - IATEsource.C - -\*---------------------------------------------------------------------------*/ - -#ifndef IATEsource_H -#define IATEsource_H - -#include "IATE.H" -#include "mathematicalConstants.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ -namespace diameterModels -{ - -/*---------------------------------------------------------------------------*\ - Class IATEsource Declaration -\*---------------------------------------------------------------------------*/ - -class IATEsource -{ - -protected: - - // Protected data - - //- Reference to the IATE this source applies to - const IATE& iate_; - - -public: - - //- Runtime type information - TypeName("IATEsource"); - - - // Declare run-time constructor selection table - - declareRunTimeSelectionTable - ( - autoPtr, - IATEsource, - dictionary, - ( - const IATE& iate, - const dictionary& dict - ), - (iate, dict) - ); - - - //- Class used for the read-construction of - // PtrLists of IATE sources - class iNew - { - const IATE& iate_; - - public: - - iNew(const IATE& iate) - : - iate_(iate) - {} - - autoPtr operator()(Istream& is) const - { - word type(is); - dictionary dict(is); - return IATEsource::New(type, iate_, dict); - } - }; - - - // Constructors - - IATEsource(const IATE& iate) - : - iate_(iate) - {} - - autoPtr clone() const - { - NotImplemented; - return autoPtr(nullptr); - } - - - // Selectors - - static autoPtr New - ( - const word& type, - const IATE& iate, - const dictionary& dict - ); - - - //- Destructor - virtual ~IATEsource() - {} - - - // Member Functions - - const phaseModel& phase() const - { - return iate_.phase(); - } - - const twoPhaseSystem& fluid() const - { - return iate_.phase().fluid(); - } - - const phaseModel& otherPhase() const - { - return phase().otherPhase(); - } - - scalar phi() const - { - return 1.0/(36*constant::mathematical::pi); - } - - //- Return the bubble relative velocity - tmp Ur() const; - - //- Return the bubble turbulent velocity - tmp Ut() const; - - //- Return the bubble Reynolds number - tmp Re() const; - - //- Return the bubble drag coefficient - tmp CD() const; - - //- Return the bubble Morton number - tmp Mo() const; - - //- Return the bubble Eotvos number - tmp Eo() const; - - //- Return the bubble Webber number - tmp We() const; - - virtual tmp R() const = 0; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace diameterModels -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/dummy/dummy.C b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/dummy/dummy.C deleted file mode 100644 index 37141844b8..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/dummy/dummy.C +++ /dev/null @@ -1,58 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2013-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 "dummy.H" -#include "addToRunTimeSelectionTable.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ -namespace diameterModels -{ -namespace IATEsources -{ - defineTypeNameAndDebug(dummy, 0); - addToRunTimeSelectionTable(IATEsource, dummy, word); -} -} -} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -Foam::tmp -Foam::diameterModels::IATEsources::dummy::R() const -{ - return volScalarField::New - ( - "R", - iate_.phase().U().mesh(), - dimensionedScalar(dimless/dimTime, 0) - ); -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/dummy/dummy.H b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/dummy/dummy.H deleted file mode 100644 index 43fec9abe5..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/dummy/dummy.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) 2013-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::diameterModels::IATEsources::dummy - -Description - -SourceFiles - dummy.C - -\*---------------------------------------------------------------------------*/ - -#ifndef dummy_H -#define dummy_H - -#include "IATEsource.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ -namespace diameterModels -{ -namespace IATEsources -{ - -/*---------------------------------------------------------------------------*\ - Class dummy Declaration -\*---------------------------------------------------------------------------*/ - -class dummy -: - public IATEsource -{ - -public: - - //- Runtime type information - TypeName("dummy"); - - // Constructors - - dummy - ( - const word& name, - const IATE& iate, - const dictionary& dict - ) - : - IATEsource(iate) - {} - - - //- Destructor - virtual ~dummy() - {} - - - // Member Functions - - virtual tmp R() const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace IATEsources -} // End namespace diameterModels -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/randomCoalescence/randomCoalescence.C b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/randomCoalescence/randomCoalescence.C deleted file mode 100644 index 35404338c1..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/randomCoalescence/randomCoalescence.C +++ /dev/null @@ -1,104 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2013-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 "randomCoalescence.H" -#include "addToRunTimeSelectionTable.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ -namespace diameterModels -{ -namespace IATEsources -{ - defineTypeNameAndDebug(randomCoalescence, 0); - addToRunTimeSelectionTable(IATEsource, randomCoalescence, dictionary); -} -} -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::diameterModels::IATEsources::randomCoalescence:: -randomCoalescence -( - const IATE& iate, - const dictionary& dict -) -: - IATEsource(iate), - Crc_("Crc", dimless, dict), - C_("C", dimless, dict), - alphaMax_("alphaMax", dimless, dict) -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -Foam::tmp -Foam::diameterModels::IATEsources::randomCoalescence::R() const -{ - tmp tR - ( - volScalarField::New - ( - "R", - iate_.phase().U().mesh(), - dimensionedScalar(dimless/dimTime, 0) - ) - ); - - volScalarField R = tR(); - - scalar Crc = Crc_.value(); - scalar C = C_.value(); - scalar alphaMax = alphaMax_.value(); - volScalarField Ut(this->Ut()); - const volScalarField& alpha = phase(); - const volScalarField& kappai = iate_.kappai(); - scalar cbrtAlphaMax = cbrt(alphaMax); - - forAll(R, celli) - { - if (alpha[celli] < alphaMax - small) - { - scalar cbrtAlphaMaxMAlpha = cbrtAlphaMax - cbrt(alpha[celli]); - - R[celli] = - (-12)*phi()*kappai[celli]*alpha[celli] - *Crc - *Ut[celli] - *(1 - exp(-C*cbrt(alpha[celli]*alphaMax)/cbrtAlphaMaxMAlpha)) - /(cbrtAlphaMax*cbrtAlphaMaxMAlpha); - } - } - - return tR; -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/randomCoalescence/randomCoalescence.H b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/randomCoalescence/randomCoalescence.H deleted file mode 100644 index dba94fd3ad..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/randomCoalescence/randomCoalescence.H +++ /dev/null @@ -1,106 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2013-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::IATEsources::randomCoalescence - -Description - Random coalescence IATE source as defined in paper: - - \verbatim - "Development of Interfacial Area Transport Equation" - Ishii, M., Kim, S. and Kelly, J., - Nuclear Engineering and Technology, Vol.37 No.6 December 2005 - \endverbatim - - -SourceFiles - randomCoalescence.C - -\*---------------------------------------------------------------------------*/ - -#ifndef randomCoalescence_H -#define randomCoalescence_H - -#include "IATEsource.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ -namespace diameterModels -{ -namespace IATEsources -{ - -/*---------------------------------------------------------------------------*\ - Class randomCoalescence Declaration -\*---------------------------------------------------------------------------*/ - -class randomCoalescence -: - public IATEsource -{ - // Private Data - - dimensionedScalar Crc_; - dimensionedScalar C_; - dimensionedScalar alphaMax_; - - -public: - - //- Runtime type information - TypeName("randomCoalescence"); - - // Constructors - - randomCoalescence - ( - const IATE& iate, - const dictionary& dict - ); - - - //- Destructor - virtual ~randomCoalescence() - {} - - - // Member Functions - - virtual tmp R() const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace IATEsources -} // End namespace diameterModels -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/turbulentBreakUp/turbulentBreakUp.C b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/turbulentBreakUp/turbulentBreakUp.C deleted file mode 100644 index 2a36013084..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/turbulentBreakUp/turbulentBreakUp.C +++ /dev/null @@ -1,99 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2013-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 "turbulentBreakUp.H" -#include "addToRunTimeSelectionTable.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ -namespace diameterModels -{ -namespace IATEsources -{ - defineTypeNameAndDebug(turbulentBreakUp, 0); - addToRunTimeSelectionTable(IATEsource, turbulentBreakUp, dictionary); -} -} -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::diameterModels::IATEsources::turbulentBreakUp:: -turbulentBreakUp -( - const IATE& iate, - const dictionary& dict -) -: - IATEsource(iate), - Cti_("Cti", dimless, dict), - WeCr_("WeCr", dimless, dict) -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -Foam::tmp -Foam::diameterModels::IATEsources::turbulentBreakUp::R() const -{ - tmp tR - ( - volScalarField::New - ( - "R", - iate_.phase().U().mesh(), - dimensionedScalar(dimless/dimTime, 0) - ) - ); - - volScalarField R = tR(); - - scalar Cti = Cti_.value(); - scalar WeCr = WeCr_.value(); - volScalarField Ut(this->Ut()); - volScalarField We(this->We()); - const volScalarField& d(iate_.d()()); - - forAll(R, celli) - { - if (We[celli] > WeCr) - { - R[celli] = - (1.0/3.0) - *Cti/d[celli] - *Ut[celli] - *sqrt(1 - WeCr/We[celli]) - *exp(-WeCr/We[celli]); - } - } - - return tR; -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/turbulentBreakUp/turbulentBreakUp.H b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/turbulentBreakUp/turbulentBreakUp.H deleted file mode 100644 index 455fe03397..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/turbulentBreakUp/turbulentBreakUp.H +++ /dev/null @@ -1,104 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2013-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::IATEsources::turbulentBreakUp - -Description - Turbulence-induced break-up IATE source as defined in paper: - - \verbatim - "Development of Interfacial Area Transport Equation" - Ishii, M., Kim, S. and Kelly, J., - Nuclear Engineering and Technology, Vol.37 No.6 December 2005 - \endverbatim - -SourceFiles - turbulentBreakUp.C - -\*---------------------------------------------------------------------------*/ - -#ifndef turbulentBreakUp_H -#define turbulentBreakUp_H - -#include "IATEsource.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ -namespace diameterModels -{ -namespace IATEsources -{ - -/*---------------------------------------------------------------------------*\ - Class turbulentBreakUp Declaration -\*---------------------------------------------------------------------------*/ - -class turbulentBreakUp -: - public IATEsource -{ - // Private Data - - dimensionedScalar Cti_; - dimensionedScalar WeCr_; - - -public: - - //- Runtime type information - TypeName("turbulentBreakUp"); - - // Constructors - - turbulentBreakUp - ( - const IATE& iate, - const dictionary& dict - ); - - - //- Destructor - virtual ~turbulentBreakUp() - {} - - - // Member Functions - - virtual tmp R() const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace IATEsources -} // End namespace diameterModels -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/wakeEntrainmentCoalescence/wakeEntrainmentCoalescence.C b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/wakeEntrainmentCoalescence/wakeEntrainmentCoalescence.C deleted file mode 100644 index 96b9cd9f9c..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/wakeEntrainmentCoalescence/wakeEntrainmentCoalescence.C +++ /dev/null @@ -1,72 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2013-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 "wakeEntrainmentCoalescence.H" -#include "addToRunTimeSelectionTable.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ -namespace diameterModels -{ -namespace IATEsources -{ - defineTypeNameAndDebug(wakeEntrainmentCoalescence, 0); - addToRunTimeSelectionTable - ( - IATEsource, - wakeEntrainmentCoalescence, - dictionary - ); -} -} -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::diameterModels::IATEsources::wakeEntrainmentCoalescence:: -wakeEntrainmentCoalescence -( - const IATE& iate, - const dictionary& dict -) -: - IATEsource(iate), - Cwe_("Cwe", dimless, dict) -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -Foam::tmp -Foam::diameterModels::IATEsources::wakeEntrainmentCoalescence::R() const -{ - return (-12)*phi()*Cwe_*cbrt(CD())*iate_.a()*Ur(); -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/wakeEntrainmentCoalescence/wakeEntrainmentCoalescence.H b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/wakeEntrainmentCoalescence/wakeEntrainmentCoalescence.H deleted file mode 100644 index 6b3bea9486..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/wakeEntrainmentCoalescence/wakeEntrainmentCoalescence.H +++ /dev/null @@ -1,103 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2013-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::IATEsources::wakeEntrainmentCoalescence - -Description - Bubble coalescence due to wake entrainment IATE source as defined in paper: - - \verbatim - "Development of Interfacial Area Transport Equation" - Ishii, M., Kim, S. and Kelly, J., - Nuclear Engineering and Technology, Vol.37 No.6 December 2005 - \endverbatim - -SourceFiles - wakeEntrainmentCoalescence.C - -\*---------------------------------------------------------------------------*/ - -#ifndef wakeEntrainmentCoalescence_H -#define wakeEntrainmentCoalescence_H - -#include "IATEsource.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ -namespace diameterModels -{ -namespace IATEsources -{ - -/*---------------------------------------------------------------------------*\ - Class wakeEntrainmentCoalescence Declaration -\*---------------------------------------------------------------------------*/ - -class wakeEntrainmentCoalescence -: - public IATEsource -{ - // Private Data - - dimensionedScalar Cwe_; - - -public: - - //- Runtime type information - TypeName("wakeEntrainmentCoalescence"); - - // Constructors - - wakeEntrainmentCoalescence - ( - const IATE& iate, - const dictionary& dict - ); - - - //- Destructor - virtual ~wakeEntrainmentCoalescence() - {} - - - // Member Functions - - virtual tmp R() const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace IATEsources -} // End namespace diameterModels -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/constantDiameter/constantDiameter.C b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/constantDiameter/constantDiameter.C deleted file mode 100644 index a3d30c3ba5..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/constantDiameter/constantDiameter.C +++ /dev/null @@ -1,89 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2011-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& diameterProperties, - const phaseModel& phase -) -: - diameterModel(diameterProperties, phase), - d_("d", dimLength, diameterProperties_) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::diameterModels::constant::~constant() -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -Foam::tmp Foam::diameterModels::constant::d() const -{ - return volScalarField::New - ( - "d", - phase_.U().mesh(), - d_ - ); -} - - -bool Foam::diameterModels::constant::read(const dictionary& phaseProperties) -{ - diameterModel::read(phaseProperties); - - diameterProperties_.lookup("d") >> d_; - - return true; -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/constantDiameter/constantDiameter.H b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/constantDiameter/constantDiameter.H deleted file mode 100644 index 2006d6c7d2..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/constantDiameter/constantDiameter.H +++ /dev/null @@ -1,100 +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& diameterProperties, - const phaseModel& phase - ); - - - //- Destructor - virtual ~constant(); - - - // Member Functions - - //- Return the diameter as a field - virtual tmp d() const; - - //- Read diameterProperties dictionary - virtual bool read(const dictionary& diameterProperties); -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace diameterModels -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/diameterModel/diameterModel.C b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/diameterModel/diameterModel.C deleted file mode 100644 index d63b91af48..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/diameterModel/diameterModel.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 "diameterModel.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ - defineTypeNameAndDebug(diameterModel, 0); - defineRunTimeSelectionTable(diameterModel, dictionary); -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::diameterModel::diameterModel -( - const dictionary& diameterProperties, - const phaseModel& phase -) -: - diameterProperties_(diameterProperties), - phase_(phase) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::diameterModel::~diameterModel() -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -void Foam::diameterModel::correct() -{} - - -bool Foam::diameterModel::read(const dictionary& phaseProperties) -{ - diameterProperties_ = phaseProperties.optionalSubDict(type() + "Coeffs"); - - return true; -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/diameterModel/diameterModel.H b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/diameterModel/diameterModel.H deleted file mode 100644 index c0c89fbd5a..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/diameterModel/diameterModel.H +++ /dev/null @@ -1,139 +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::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 - - dictionary diameterProperties_; - const phaseModel& phase_; - - -public: - - //- Runtime type information - TypeName("diameterModel"); - - - // Declare runtime construction - - declareRunTimeSelectionTable - ( - autoPtr, - diameterModel, - dictionary, - ( - const dictionary& diameterProperties, - const phaseModel& phase - ), - (diameterProperties, phase) - ); - - - // Constructors - - diameterModel - ( - const dictionary& diameterProperties, - const phaseModel& phase - ); - - - //- Destructor - virtual ~diameterModel(); - - - // Selectors - - static autoPtr New - ( - const dictionary& diameterProperties, - const phaseModel& phase - ); - - - // Member Functions - - //- Return the phase diameter properties dictionary - const dictionary& diameterProperties() const - { - return diameterProperties_; - } - - //- Return the phase - const phaseModel& phase() const - { - return phase_; - } - - //- Return the phase mean diameter field - virtual tmp d() const = 0; - - //- Correct the diameter field - virtual void correct(); - - //- Read phaseProperties dictionary - virtual bool read(const dictionary& phaseProperties) = 0; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/diameterModel/newDiameterModel.C b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/diameterModel/newDiameterModel.C deleted file mode 100644 index ac20183f37..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/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/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/isothermalDiameter/isothermalDiameter.C b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/isothermalDiameter/isothermalDiameter.C deleted file mode 100644 index 5dff6f28ae..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/isothermalDiameter/isothermalDiameter.C +++ /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 . - -\*---------------------------------------------------------------------------*/ - -#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& diameterProperties, - const phaseModel& phase -) -: - diameterModel(diameterProperties, phase), - d0_("d0", dimLength, diameterProperties_), - p0_("p0", dimPressure, diameterProperties_) -{} - - -// * * * * * * * * * * * * * * * * 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); -} - - -bool Foam::diameterModels::isothermal::read(const dictionary& phaseProperties) -{ - diameterModel::read(phaseProperties); - - diameterProperties_.lookup("d0") >> d0_; - diameterProperties_.lookup("p0") >> p0_; - - return true; -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/isothermalDiameter/isothermalDiameter.H b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/isothermalDiameter/isothermalDiameter.H deleted file mode 100644 index 885a96de40..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/isothermalDiameter/isothermalDiameter.H +++ /dev/null @@ -1,103 +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& diameterProperties, - const phaseModel& phase - ); - - - //- Destructor - virtual ~isothermal(); - - - // Member Functions - - //- Return the diameter field - virtual tmp d() const; - - //- Read phaseProperties dictionary - virtual bool read(const dictionary& phaseProperties); -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace diameterModels -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/phaseModel/phaseModel.C b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/phaseModel/phaseModel.C deleted file mode 100644 index 87caac8515..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/phaseModel/phaseModel.C +++ /dev/null @@ -1,269 +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 "phaseModel.H" -#include "twoPhaseSystem.H" -#include "diameterModel.H" -#include "fvMatrix.H" -#include "PhaseCompressibleMomentumTransportModel.H" -#include "dragModel.H" -#include "heatTransferModel.H" -#include "fixedValueFvsPatchFields.H" -#include "fixedValueFvPatchFields.H" -#include "slipFvPatchFields.H" -#include "partialSlipFvPatchFields.H" -#include "fvcFlux.H" -#include "surfaceInterpolate.H" - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::phaseModel::phaseModel -( - const twoPhaseSystem& fluid, - const dictionary& phaseProperties, - const word& phaseName -) -: - volScalarField - ( - IOobject - ( - IOobject::groupName("alpha", phaseName), - fluid.mesh().time().timeName(), - fluid.mesh(), - IOobject::READ_IF_PRESENT, - IOobject::AUTO_WRITE - ), - fluid.mesh(), - dimensionedScalar(dimless, 0) - ), - fluid_(fluid), - name_(phaseName), - phaseDict_ - ( - phaseProperties.subDict(name_) - ), - residualAlpha_ - ( - "residualAlpha", - dimless, - fluid.subDict(phaseName).lookup("residualAlpha") - ), - alphaMax_(phaseDict_.lookupOrDefault("alphaMax", 1.0)), - thermo_(rhoThermo::New(fluid.mesh(), name_)), - U_ - ( - IOobject - ( - IOobject::groupName("U", name_), - fluid.mesh().time().timeName(), - fluid.mesh(), - IOobject::MUST_READ, - IOobject::AUTO_WRITE - ), - fluid.mesh() - ), - alphaPhi_ - ( - IOobject - ( - IOobject::groupName("alphaPhi", name_), - fluid.mesh().time().timeName(), - fluid.mesh() - ), - fluid.mesh(), - dimensionedScalar(dimensionSet(0, 3, -1, 0, 0), 0) - ), - alphaRhoPhi_ - ( - IOobject - ( - IOobject::groupName("alphaRhoPhi", name_), - fluid.mesh().time().timeName(), - fluid.mesh() - ), - fluid.mesh(), - dimensionedScalar(dimensionSet(1, 0, -1, 0, 0), 0) - ) -{ - thermo_->validate("phaseModel " + name_, "h", "e"); - - const word phiName = IOobject::groupName("phi", name_); - - IOobject phiHeader - ( - phiName, - fluid_.mesh().time().timeName(), - fluid_.mesh(), - IOobject::NO_READ - ); - - if (phiHeader.typeHeaderOk(true)) - { - Info<< "Reading face flux field " << phiName << endl; - - phiPtr_.reset - ( - new surfaceScalarField - ( - IOobject - ( - phiName, - fluid_.mesh().time().timeName(), - fluid_.mesh(), - IOobject::MUST_READ, - IOobject::AUTO_WRITE - ), - fluid_.mesh() - ) - ); - } - else - { - Info<< "Calculating face flux field " << phiName << endl; - - wordList phiTypes - ( - U_.boundaryField().size(), - calculatedFvPatchScalarField::typeName - ); - - forAll(U_.boundaryField(), i) - { - if - ( - isA(U_.boundaryField()[i]) - || isA(U_.boundaryField()[i]) - || isA(U_.boundaryField()[i]) - ) - { - phiTypes[i] = fixedValueFvsPatchScalarField::typeName; - } - } - - phiPtr_.reset - ( - new surfaceScalarField - ( - IOobject - ( - phiName, - fluid_.mesh().time().timeName(), - fluid_.mesh(), - IOobject::NO_READ, - IOobject::AUTO_WRITE - ), - fvc::flux(U_), - phiTypes - ) - ); - } - - dPtr_ = diameterModel::New - ( - phaseDict_, - *this - ); - - turbulence_ = - PhaseCompressibleMomentumTransportModel::New - ( - *this, - thermo_->rho(), - U_, - alphaRhoPhi_, - phi(), - *this - ); -} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::phaseModel::~phaseModel() -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -const Foam::phaseModel& Foam::phaseModel::otherPhase() const -{ - return fluid_.otherPhase(*this); -} - - -Foam::tmp Foam::phaseModel::d() const -{ - return dPtr_().d(); -} - - -Foam::PhaseCompressibleMomentumTransportModel& -Foam::phaseModel::turbulence() -{ - return turbulence_(); -} - - -const Foam::PhaseCompressibleMomentumTransportModel& -Foam::phaseModel::turbulence() const -{ - return turbulence_(); -} - - -void Foam::phaseModel::correct() -{ - return dPtr_->correct(); -} - - -bool Foam::phaseModel::read(const dictionary& phaseProperties) -{ - phaseDict_ = phaseProperties.subDict(name_); - return dPtr_->read(phaseDict_); -} - - -void Foam::phaseModel::correctInflowOutflow(surfaceScalarField& alphaPhi) const -{ - surfaceScalarField::Boundary& alphaPhiBf = alphaPhi.boundaryFieldRef(); - const volScalarField::Boundary& alphaBf = boundaryField(); - const surfaceScalarField::Boundary& phiBf = phi().boundaryField(); - - forAll(alphaPhiBf, patchi) - { - fvsPatchScalarField& alphaPhip = alphaPhiBf[patchi]; - - if (!alphaPhip.coupled()) - { - alphaPhip = phiBf[patchi]*alphaBf[patchi]; - } - } -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/phaseModel/phaseModel.H b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/phaseModel/phaseModel.H deleted file mode 100644 index 299b80eaf9..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/phaseModel/phaseModel.H +++ /dev/null @@ -1,360 +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 . - -Class - Foam::phaseModel - -SourceFiles - phaseModel.C - -\*---------------------------------------------------------------------------*/ - -#ifndef phaseModel_H -#define phaseModel_H - -#include "dictionary.H" -#include "dimensionedScalar.H" -#include "volFields.H" -#include "surfaceFields.H" -#include "rhoThermo.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -// Forward declarations -class twoPhaseSystem; -class diameterModel; - -template -class PhaseCompressibleMomentumTransportModel; - - -/*---------------------------------------------------------------------------*\ - Class phaseModel Declaration -\*---------------------------------------------------------------------------*/ - -class phaseModel -: - public volScalarField -{ - // Private Data - - //- Reference to the twoPhaseSystem to which this phase belongs - const twoPhaseSystem& fluid_; - - //- Name of phase - word name_; - - dictionary phaseDict_; - - //- Return the residual phase-fraction for given phase - // Used to stabilize the phase momentum as the phase-fraction -> 0 - dimensionedScalar residualAlpha_; - - //- Optional maximum phase-fraction (e.g. packing limit) - scalar alphaMax_; - - //- Thermophysical properties - autoPtr thermo_; - - //- Velocity - volVectorField U_; - - //- Volumetric flux of the phase - surfaceScalarField alphaPhi_; - - //- Mass flux of the phase - surfaceScalarField alphaRhoPhi_; - - //- Volumetric flux of the phase - autoPtr phiPtr_; - - //- Diameter model - autoPtr dPtr_; - - //- Turbulence model - autoPtr> - turbulence_; - - -public: - - // Constructors - - phaseModel - ( - const twoPhaseSystem& fluid, - const dictionary& phaseProperties, - const word& phaseName - ); - - - //- Destructor - virtual ~phaseModel(); - - - // Member Functions - - //- Return the name of this phase - const word& name() const - { - return name_; - } - - //- Return the twoPhaseSystem to which this phase belongs - const twoPhaseSystem& fluid() const - { - return fluid_; - } - - //- Return the other phase in this two-phase system - const phaseModel& otherPhase() const; - - //- Return the residual phase-fraction for given phase - // Used to stabilize the phase momentum as the phase-fraction -> 0 - const dimensionedScalar& residualAlpha() const - { - return residualAlpha_; - } - - //- Optional maximum phase-fraction (e.g. packing limit) - // Defaults to 1 - scalar alphaMax() const - { - return alphaMax_; - } - - //- Return the Sauter-mean diameter - tmp d() const; - - //- Return the turbulence model - const PhaseCompressibleMomentumTransportModel& - turbulence() const; - - //- Return non-const access to the turbulence model - // for correction - PhaseCompressibleMomentumTransportModel& - turbulence(); - - //- Return the thermophysical model - const rhoThermo& thermo() const - { - return thermo_(); - } - - //- Return non-const access to the thermophysical model - // for correction - rhoThermo& thermo() - { - return thermo_(); - } - - //- Return the laminar viscosity - tmp nu() const - { - return thermo_->nu(); - } - - //- Return the laminar viscosity for patch - tmp nu(const label patchi) const - { - return thermo_->nu(patchi); - } - - //- Return the laminar dynamic viscosity - tmp mu() const - { - return thermo_->mu(); - } - - //- Return the laminar dynamic viscosity for patch - tmp mu(const label patchi) const - { - return thermo_->mu(patchi); - } - - //- Thermal diffusivity for enthalpy of mixture [kg/m/s] - tmp alpha() const - { - return thermo_->alpha(); - } - - //- Thermal diffusivity for enthalpy of mixture for patch [kg/m/s] - tmp alpha(const label patchi) const - { - return thermo_->alpha(patchi); - } - - //- Thermal diffusivity for temperature of mixture - // for patch [W/m/K] - tmp kappa(const label patchi) const - { - return thermo_->kappa(patchi); - } - - //- Thermal diffusivity for temperature of mixture [W/m/K] - tmp kappa() const - { - return thermo_->kappa(); - } - - //- Thermal diffusivity for energy of mixture [kg/m/s] - tmp alphahe() const - { - return thermo_->alphahe(); - } - - //- Thermal diffusivity for energy of mixture for patch [kg/m/s] - tmp alphahe(const label patchi) const - { - return thermo_->alphahe(patchi); - } - - //- Effective thermal turbulent diffusivity for temperature - // of mixture [W/m/K] - tmp kappaEff - ( - const volScalarField& alphat - ) const - { - return thermo_->kappaEff(alphat); - } - - //- Effective thermal turbulent diffusivity for temperature - // of mixture for patch [W/m/K] - tmp kappaEff - ( - const scalarField& alphat, - const label patchi - ) const - { - return thermo_->kappaEff(alphat, patchi); - } - - //- Effective thermal turbulent diffusivity of mixture [kg/m/s] - tmp alphaEff - ( - const volScalarField& alphat - ) const - { - return thermo_->alphaEff(alphat); - } - - //- Effective thermal turbulent diffusivity of mixture - // for patch [kg/m/s] - tmp alphaEff - ( - const scalarField& alphat, - const label patchi - ) const - { - return thermo_->alphaEff(alphat, patchi); - } - - //- Return the specific heat capacity - tmp Cp() const - { - return thermo_->Cp(); - } - - //- Return the density - const volScalarField& rho() const - { - return thermo_->rho(); - } - - //- Return the velocity - const volVectorField& U() const - { - return U_; - } - - //- Return non-const access to the velocity - // Used in the momentum equation - volVectorField& U() - { - return U_; - } - - //- Return the volumetric flux - const surfaceScalarField& phi() const - { - return phiPtr_(); - } - - //- Return non-const access to the volumetric flux - surfaceScalarField& phi() - { - return phiPtr_(); - } - - //- Return the volumetric flux of the phase - const surfaceScalarField& alphaPhi() const - { - return alphaPhi_; - } - - //- Return non-const access to the volumetric flux of the phase - surfaceScalarField& alphaPhi() - { - return alphaPhi_; - } - - //- Return the mass flux of the phase - const surfaceScalarField& alphaRhoPhi() const - { - return alphaRhoPhi_; - } - - //- Return non-const access to the mass flux of the phase - surfaceScalarField& alphaRhoPhi() - { - return alphaRhoPhi_; - } - - //- Ensure that the flux at inflow/outflow BCs is preserved - void correctInflowOutflow(surfaceScalarField& alphaPhi) const; - - //- Correct the phase properties - // other than the thermodynamics and turbulence - // which have special treatment - void correct(); - - using volScalarField::read; - - //- Read phaseProperties dictionary - virtual bool read(const dictionary& phaseProperties); -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/phasePair/orderedPhasePair/orderedPhasePair.C b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/phasePair/orderedPhasePair/orderedPhasePair.C deleted file mode 100644 index 8841ce2056..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/phasePair/orderedPhasePair/orderedPhasePair.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) 2014-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 "orderedPhasePair.H" -#include "aspectRatioModel.H" - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::orderedPhasePair::orderedPhasePair -( - const phaseModel& dispersed, - const phaseModel& continuous, - const dimensionedVector& g, - const scalarTable& sigmaTable, - const dictTable& aspectRatioTable -) -: - phasePair(dispersed, continuous, g, sigmaTable, true) -{ - if (aspectRatioTable.found(*this)) - { - aspectRatio_.set - ( - aspectRatioModel::New - ( - aspectRatioTable[*this], - *this - ).ptr() - ); - } -} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::orderedPhasePair::~orderedPhasePair() -{} - - -// * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * // - -const Foam::phaseModel& Foam::orderedPhasePair::dispersed() const -{ - return phase1(); -} - - -const Foam::phaseModel& Foam::orderedPhasePair::continuous() const -{ - return phase2(); -} - - -Foam::word Foam::orderedPhasePair::name() const -{ - word namec(continuous().name()); - namec[0] = toupper(namec[0]); - return dispersed().name() + "In" + namec; -} - - -Foam::tmp Foam::orderedPhasePair::E() const -{ - if (!aspectRatio_.valid()) - { - FatalErrorInFunction - << "Aspect ratio model not specified for " << *this << "." - << exit(FatalError); - } - - return aspectRatio_->E(); -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/phasePair/orderedPhasePair/orderedPhasePair.H b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/phasePair/orderedPhasePair/orderedPhasePair.H deleted file mode 100644 index 46c263a776..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/phasePair/orderedPhasePair/orderedPhasePair.H +++ /dev/null @@ -1,104 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2014-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::orderedPhasePair - -Description - -SourceFiles - orderedPhasePair.C - -\*---------------------------------------------------------------------------*/ - -#ifndef orderedPhasePair_H -#define orderedPhasePair_H - -#include "phasePair.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -class aspectRatioModel; - -/*---------------------------------------------------------------------------*\ - Class orderedPhasePair Declaration -\*---------------------------------------------------------------------------*/ - -class orderedPhasePair -: - public phasePair -{ - // Private Data - - //- Aspect ratio model - autoPtr aspectRatio_; - - -public: - - // Constructors - - //- Construct from two phases, gravity, surface tension and aspect - // ratio tables - orderedPhasePair - ( - const phaseModel& dispersed, - const phaseModel& continuous, - const dimensionedVector& g, - const scalarTable& sigmaTable, - const dictTable& aspectRatioTable - ); - - - //- Destructor - virtual ~orderedPhasePair(); - - - // Member Functions - - //- Dispersed phase - virtual const phaseModel& dispersed() const; - - //- Continuous phase - virtual const phaseModel& continuous() const; - - //- Pair name - virtual word name() const; - - //- Aspect ratio - virtual tmp E() const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/phasePair/phasePair/phasePair.C b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/phasePair/phasePair/phasePair.C deleted file mode 100644 index 5259d4b14f..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/phasePair/phasePair/phasePair.C +++ /dev/null @@ -1,196 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2014-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 "phasePair.H" - -// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // - -Foam::tmp Foam::phasePair::EoH -( - const volScalarField& d -) const -{ - return - mag(dispersed().rho() - continuous().rho()) - *mag(g()) - *sqr(d) - /sigma(); -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::phasePair::phasePair -( - const phaseModel& phase1, - const phaseModel& phase2, - const dimensionedVector& g, - const scalarTable& sigmaTable, - const bool ordered -) -: - phasePairKey(phase1.name(), phase2.name(), ordered), - phase1_(phase1), - phase2_(phase2), - g_(g), - sigma_ - ( - "sigma", - dimensionSet(1, 0, -2, 0, 0), - sigmaTable - [ - phasePairKey - ( - phase1.name(), - phase2.name(), - false - ) - ] - ) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::phasePair::~phasePair() -{} - - -// * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * // - -const Foam::phaseModel& Foam::phasePair::dispersed() const -{ - FatalErrorInFunction - << "Requested dispersed phase from an unordered pair." - << exit(FatalError); - - return phase1_; -} - - -const Foam::phaseModel& Foam::phasePair::continuous() const -{ - FatalErrorInFunction - << "Requested continuous phase from an unordered pair." - << exit(FatalError); - - return phase1_; -} - - -Foam::word Foam::phasePair::name() const -{ - word name2(phase2().name()); - name2[0] = toupper(name2[0]); - return phase1().name() + "And" + name2; -} - - -Foam::tmp Foam::phasePair::rho() const -{ - return phase1()*phase1().rho() + phase2()*phase2().rho(); -} - - -Foam::tmp Foam::phasePair::magUr() const -{ - return mag(phase1().U() - phase2().U()); -} - - -Foam::tmp Foam::phasePair::Ur() const -{ - return dispersed().U() - continuous().U(); -} - - -Foam::tmp Foam::phasePair::Re() const -{ - return magUr()*dispersed().d()/continuous().nu(); -} - - -Foam::tmp Foam::phasePair::Pr() const -{ - return - continuous().nu()*continuous().Cp()*continuous().rho() - /continuous().kappa(); -} - - -Foam::tmp Foam::phasePair::Eo() const -{ - return EoH(dispersed().d()); -} - - -Foam::tmp Foam::phasePair::EoH1() const -{ - return - EoH - ( - dispersed().d() - *cbrt(1 + 0.163*pow(Eo(), 0.757)) - ); -} - - -Foam::tmp Foam::phasePair::EoH2() const -{ - return - EoH - ( - dispersed().d() - /cbrt(E()) - ); -} - - -Foam::tmp Foam::phasePair::Mo() const -{ - return - mag(g()) - *continuous().nu() - *pow3(continuous().nu()*continuous().rho()/sigma()); -} - - -Foam::tmp Foam::phasePair::Ta() const -{ - return Re()*pow(Mo(), 0.23); -} - - -Foam::tmp Foam::phasePair::E() const -{ - FatalErrorInFunction - << "Requested aspect ratio of the dispersed phase in an unordered pair" - << exit(FatalError); - - return phase1(); -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/phasePair/phasePair/phasePair.H b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/phasePair/phasePair/phasePair.H deleted file mode 100644 index 6429bcd774..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/phasePair/phasePair/phasePair.H +++ /dev/null @@ -1,179 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2014-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::phasePair - -Description - -SourceFiles - phasePair.C - -\*---------------------------------------------------------------------------*/ - -#ifndef phasePair_H -#define phasePair_H - -#include "phaseModel.H" -#include "phasePairKey.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -/*---------------------------------------------------------------------------*\ - Class phasePair Declaration -\*---------------------------------------------------------------------------*/ - -class phasePair -: - public phasePairKey -{ -public: - - // Hash table types - - //- Dictionary hash table - typedef HashTable - dictTable; - - //- Scalar hash table - typedef HashTable - scalarTable; - - -private: - - // Private Data - - //- Phase 1 - const phaseModel& phase1_; - - //- Phase 2 - const phaseModel& phase2_; - - //- Gravitational acceleration - const dimensionedVector& g_; - - //- Surface tension coefficient - const dimensionedScalar sigma_; - - - // Private Member Functions - - // Etvos number for given diameter - tmp EoH(const volScalarField& d) const; - -public: - - // Constructors - - //- Construct from two phases, gravity and surface tension table - phasePair - ( - const phaseModel& phase1, - const phaseModel& phase2, - const dimensionedVector& g, - const scalarTable& sigmaTable, - const bool ordered = false - ); - - - //- Destructor - virtual ~phasePair(); - - - // Member Functions - - //- Dispersed phase - virtual const phaseModel& dispersed() const; - - //- Continuous phase - virtual const phaseModel& continuous() const; - - //- Pair name - virtual word name() const; - - //- Average density - tmp rho() const; - - //- Relative velocity magnitude - tmp magUr() const; - - //- Relative velocity - tmp Ur() const; - - //- Reynolds number - tmp Re() const; - - //- Prandtl number - tmp Pr() const; - - //- Eotvos number - tmp Eo() const; - - //- Eotvos number based on hydraulic diameter type 1 - tmp EoH1() const; - - //- Eotvos number based on hydraulic diameter type 2 - tmp EoH2() const; - - //- Morton Number - tmp Mo() const; - - //- Takahashi Number - tmp Ta() const; - - //- Aspect ratio - virtual tmp E() const; - - // Access - - // Phase 1 - inline const phaseModel& phase1() const; - - // Phase 2 - inline const phaseModel& phase2() const; - - // Gravitational acceleration - inline const dimensionedVector& g() const; - - // Surface tension coefficient - inline const dimensionedScalar& sigma() const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#include "phasePairI.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/phasePair/phasePair/phasePairI.H b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/phasePair/phasePair/phasePairI.H deleted file mode 100644 index aa963b62c5..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/phasePair/phasePair/phasePairI.H +++ /dev/null @@ -1,52 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2014-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 . - -\*---------------------------------------------------------------------------*/ - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -inline const Foam::phaseModel& Foam::phasePair::phase1() const -{ - return phase1_; -} - - -inline const Foam::phaseModel& Foam::phasePair::phase2() const -{ - return phase2_; -} - - -inline const Foam::dimensionedVector& Foam::phasePair::g() const -{ - return g_; -} - - -inline const Foam::dimensionedScalar& Foam::phasePair::sigma() const -{ - return sigma_; -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/phasePair/phasePairKey/phasePairKey.C b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/phasePair/phasePairKey/phasePairKey.C deleted file mode 100644 index cfb77b0d79..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/phasePair/phasePairKey/phasePairKey.C +++ /dev/null @@ -1,158 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2014-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 "phasePairKey.H" - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::phasePairKey::hash::hash() -{} - - -Foam::phasePairKey::phasePairKey() -{} - - -Foam::phasePairKey::phasePairKey -( - const word& name1, - const word& name2, - const bool ordered -) -: - Pair(name1, name2), - ordered_(ordered) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::phasePairKey::~phasePairKey() -{} - - -// * * * * * * * * * * * * * * Member Operators * * * * * * * * * * * * * * // - -Foam::label Foam::phasePairKey::hash::operator() -( - const phasePairKey& key -) const -{ - if (key.ordered_) - { - return - word::hash() - ( - key.first(), - word::hash()(key.second()) - ); - } - else - { - return - word::hash()(key.first()) - + word::hash()(key.second()); - } -} - - -// * * * * * * * * * * * * * * Friend Operators * * * * * * * * * * * * * * // - -bool Foam::operator== -( - const phasePairKey& a, - const phasePairKey& b -) -{ - const label c = Pair::compare(a,b); - - return - (a.ordered_ == b.ordered_) - && ( - (a.ordered_ && (c == 1)) - || (!a.ordered_ && (c != 0)) - ); -} - - -bool Foam::operator!= -( - const phasePairKey& a, - const phasePairKey& b -) -{ - return !(a == b); -} - - -// * * * * * * * * * * * * * * Istream Operator * * * * * * * * * * * * * * // - -Foam::Istream& Foam::operator>>(Istream& is, phasePairKey& key) -{ - const FixedList temp(is); - - key.first() = temp[0]; - - if (temp[1] == "and") - { - key.ordered_ = false; - } - else if(temp[1] == "in") - { - key.ordered_ = true; - } - else - { - FatalErrorInFunction - << "Phase pair type is not recognised. " - << temp - << "Use (phaseDispersed in phaseContinuous) for an ordered" - << "pair, or (phase1 and pase2) for an unordered pair." - << exit(FatalError); - } - - key.second() = temp[2]; - - return is; -} - - -// * * * * * * * * * * * * * * Ostream Operator * * * * * * * * * * * * * * // - -Foam::Ostream& Foam::operator<<(Ostream& os, const phasePairKey& key) -{ - os << token::BEGIN_LIST - << key.first() - << token::SPACE - << (key.ordered_ ? "in" : "and") - << token::SPACE - << key.second() - << token::END_LIST; - - return os; -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/phasePair/phasePairKey/phasePairKey.H b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/phasePair/phasePairKey/phasePairKey.H deleted file mode 100644 index 4b283fb064..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/phasePair/phasePairKey/phasePairKey.H +++ /dev/null @@ -1,130 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2014-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::phasePairKey - -Description - -SourceFiles - -\*---------------------------------------------------------------------------*/ - -#ifndef phasePairKey_H -#define phasePairKey_H - -#include "Pair.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -// Forward declaration of friend functions and operators - -class phasePairKey; - -bool operator==(const phasePairKey&, const phasePairKey&); -bool operator!=(const phasePairKey&, const phasePairKey&); - -Istream& operator>>(Istream&, phasePairKey&); -Ostream& operator<<(Ostream&, const phasePairKey&); - - -/*---------------------------------------------------------------------------*\ - Class phasePairKey Declaration -\*---------------------------------------------------------------------------*/ - -class phasePairKey -: - public Pair -{ -public: - - class hash - : - public Hash - { - public: - - // Constructors - - // Construct null - hash(); - - - // Member Operators - - // Generate a hash from a phase pair key - label operator()(const phasePairKey& key) const; - }; - - -private: - - // Private Data - - //- Flag to indicate whether ordering is important - bool ordered_; - - -public: - - // Constructors - - //- Construct null - phasePairKey(); - - //- Construct from names and the ordering flag - phasePairKey(const word& name1, const word& name2, const bool ordered); - - - // Destructor - virtual ~phasePairKey(); - - - // Friend Operators - - //- Test if keys are equal - friend bool operator==(const phasePairKey& a, const phasePairKey& b); - - //- Test if keys are unequal - friend bool operator!=(const phasePairKey& a, const phasePairKey& b); - - //- Read from stdin - friend Istream& operator>>(Istream& is, phasePairKey& key); - - //- Write to stdout - friend Ostream& operator<<(Ostream& os, const phasePairKey& key); -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/twoPhaseSystem.C b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/twoPhaseSystem.C deleted file mode 100644 index 41a305d4fa..0000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/twoPhaseSystem.C +++ /dev/null @@ -1,578 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2013-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 "twoPhaseSystem.H" -#include "PhaseCompressibleMomentumTransportModel.H" -#include "BlendedInterfacialModel.H" -#include "virtualMassModel.H" -#include "heatTransferModel.H" -#include "liftModel.H" -#include "wallLubricationModel.H" -#include "turbulentDispersionModel.H" -#include "fvMatrix.H" -#include "surfaceInterpolate.H" -#include "MULES.H" -#include "subCycle.H" -#include "fvcDdt.H" -#include "fvcDiv.H" -#include "fvcSnGrad.H" -#include "fvcFlux.H" -#include "fvcCurl.H" -#include "fvmDdt.H" -#include "fvmLaplacian.H" -#include "fixedValueFvsPatchFields.H" -#include "blendingMethod.H" -#include "HashPtrTable.H" -#include "UniformField.H" - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::twoPhaseSystem::twoPhaseSystem -( - const fvMesh& mesh, - const dimensionedVector& g -) -: - IOdictionary - ( - IOobject - ( - "phaseProperties", - mesh.time().constant(), - mesh, - IOobject::MUST_READ_IF_MODIFIED, - IOobject::NO_WRITE - ) - ), - - mesh_(mesh), - - phase1_ - ( - *this, - *this, - wordList(lookup("phases"))[0] - ), - - phase2_ - ( - *this, - *this, - wordList(lookup("phases"))[1] - ), - - phi_ - ( - IOobject - ( - "phi", - mesh.time().timeName(), - mesh, - IOobject::NO_READ, - IOobject::AUTO_WRITE - ), - this->calcPhi() - ), - - dgdt_ - ( - IOobject - ( - "dgdt", - mesh.time().timeName(), - mesh, - IOobject::READ_IF_PRESENT, - IOobject::AUTO_WRITE - ), - mesh, - dimensionedScalar(dimless/dimTime, 0) - ) -{ - phase2_.volScalarField::operator=(scalar(1) - phase1_); - - - // Blending - forAllConstIter(dictionary, subDict("blending"), iter) - { - blendingMethods_.insert - ( - iter().dict().dictName(), - blendingMethod::New - ( - iter().dict(), - wordList(lookup("phases")) - ) - ); - } - - - // Pairs - - phasePair::scalarTable sigmaTable(lookup("sigma")); - phasePair::dictTable aspectRatioTable(lookup("aspectRatio")); - - pair_.set - ( - new phasePair - ( - phase1_, - phase2_, - g, - sigmaTable - ) - ); - - pair1In2_.set - ( - new orderedPhasePair - ( - phase1_, - phase2_, - g, - sigmaTable, - aspectRatioTable - ) - ); - - pair2In1_.set - ( - new orderedPhasePair - ( - phase2_, - phase1_, - g, - sigmaTable, - aspectRatioTable - ) - ); - - - // Models - - drag_.set - ( - new BlendedInterfacialModel - ( - lookup("drag"), - ( - blendingMethods_.found("drag") - ? blendingMethods_["drag"] - : blendingMethods_["default"] - ), - pair_, - pair1In2_, - pair2In1_, - false // Do not zero drag coefficient at fixed-flux BCs - ) - ); - - virtualMass_.set - ( - new BlendedInterfacialModel - ( - lookup("virtualMass"), - ( - blendingMethods_.found("virtualMass") - ? blendingMethods_["virtualMass"] - : blendingMethods_["default"] - ), - pair_, - pair1In2_, - pair2In1_ - ) - ); - - heatTransfer_.set - ( - new BlendedInterfacialModel - ( - lookup("heatTransfer"), - ( - blendingMethods_.found("heatTransfer") - ? blendingMethods_["heatTransfer"] - : blendingMethods_["default"] - ), - pair_, - pair1In2_, - pair2In1_ - ) - ); - - lift_.set - ( - new BlendedInterfacialModel - ( - lookup("lift"), - ( - blendingMethods_.found("lift") - ? blendingMethods_["lift"] - : blendingMethods_["default"] - ), - pair_, - pair1In2_, - pair2In1_ - ) - ); - - wallLubrication_.set - ( - new BlendedInterfacialModel - ( - lookup("wallLubrication"), - ( - blendingMethods_.found("wallLubrication") - ? blendingMethods_["wallLubrication"] - : blendingMethods_["default"] - ), - pair_, - pair1In2_, - pair2In1_ - ) - ); - - turbulentDispersion_.set - ( - new BlendedInterfacialModel - ( - lookup("turbulentDispersion"), - ( - blendingMethods_.found("turbulentDispersion") - ? blendingMethods_["turbulentDispersion"] - : blendingMethods_["default"] - ), - pair_, - pair1In2_, - pair2In1_ - ) - ); -} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::twoPhaseSystem::~twoPhaseSystem() -{} - - -// * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * // - -Foam::tmp Foam::twoPhaseSystem::rho() const -{ - return phase1_*phase1_.thermo().rho() + phase2_*phase2_.thermo().rho(); -} - - -Foam::tmp Foam::twoPhaseSystem::U() const -{ - return phase1_*phase1_.U() + phase2_*phase2_.U(); -} - - -Foam::tmp Foam::twoPhaseSystem::calcPhi() const -{ - return - fvc::interpolate(phase1_)*phase1_.phi() - + fvc::interpolate(phase2_)*phase2_.phi(); -} - - -Foam::tmp Foam::twoPhaseSystem::Kd() const -{ - return drag_->K(); -} - - -Foam::tmp Foam::twoPhaseSystem::Kdf() const -{ - return drag_->Kf(); -} - - -Foam::tmp Foam::twoPhaseSystem::Vm() const -{ - return virtualMass_->K(); -} - - -Foam::tmp Foam::twoPhaseSystem::Vmf() const -{ - return virtualMass_->Kf(); -} - - -Foam::tmp Foam::twoPhaseSystem::Kh() const -{ - return heatTransfer_->K(); -} - - -Foam::tmp Foam::twoPhaseSystem::F() const -{ - return lift_->F() + wallLubrication_->F(); -} - - -Foam::tmp Foam::twoPhaseSystem::Ff() const -{ - return lift_->Ff() + wallLubrication_->Ff(); -} - - -Foam::tmp Foam::twoPhaseSystem::D() const -{ - return turbulentDispersion_->D(); -} - - -void Foam::twoPhaseSystem::solve() -{ - const Time& runTime = mesh_.time(); - - volScalarField& alpha1 = phase1_; - volScalarField& alpha2 = phase2_; - - const surfaceScalarField& phi1 = phase1_.phi(); - const surfaceScalarField& phi2 = phase2_.phi(); - - const dictionary& alphaControls = mesh_.solverDict - ( - alpha1.name() - ); - - label nAlphaSubCycles(alphaControls.lookup