From 36462eb7cbe38f95a5b81181e8a000a6abee0f9e Mon Sep 17 00:00:00 2001 From: Sergio Ferraris Date: Fri, 2 Aug 2013 15:18:09 +0100 Subject: [PATCH 1/6] BUG: Correcting Von Karman length scale ratio calculation --- .../incompressible/LES/kOmegaSSTSAS/kOmegaSSTSAS.C | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/turbulenceModels/incompressible/LES/kOmegaSSTSAS/kOmegaSSTSAS.C b/src/turbulenceModels/incompressible/LES/kOmegaSSTSAS/kOmegaSSTSAS.C index 141d723613..ed82d16e72 100644 --- a/src/turbulenceModels/incompressible/LES/kOmegaSSTSAS/kOmegaSSTSAS.C +++ b/src/turbulenceModels/incompressible/LES/kOmegaSSTSAS/kOmegaSSTSAS.C @@ -101,7 +101,7 @@ tmp kOmegaSSTSAS::Lvk2 ( kappa_*sqrt(S2) /( - mag(fvc::laplacian(U())) + fvc::magSqrGradGrad(U()) + dimensionedScalar ( "ROOTVSMALL", From feebedb8db7c53ab5cbb82015ea692873b79892d Mon Sep 17 00:00:00 2001 From: Sergio Ferraris Date: Fri, 2 Aug 2013 15:30:46 +0100 Subject: [PATCH 2/6] BUG: Reverting Lvk2 (von karman) calculation to original laplacian form --- .../incompressible/LES/kOmegaSSTSAS/kOmegaSSTSAS.C | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/turbulenceModels/incompressible/LES/kOmegaSSTSAS/kOmegaSSTSAS.C b/src/turbulenceModels/incompressible/LES/kOmegaSSTSAS/kOmegaSSTSAS.C index ed82d16e72..141d723613 100644 --- a/src/turbulenceModels/incompressible/LES/kOmegaSSTSAS/kOmegaSSTSAS.C +++ b/src/turbulenceModels/incompressible/LES/kOmegaSSTSAS/kOmegaSSTSAS.C @@ -101,7 +101,7 @@ tmp kOmegaSSTSAS::Lvk2 ( kappa_*sqrt(S2) /( - fvc::magSqrGradGrad(U()) + mag(fvc::laplacian(U())) + dimensionedScalar ( "ROOTVSMALL", From 86e1e8ee7c85e9a99998a5475f2cfe1861c4ba9b Mon Sep 17 00:00:00 2001 From: Henry Date: Fri, 2 Aug 2013 16:32:39 +0100 Subject: [PATCH 3/6] TurbulenceModels/phaseIncompressible/LES: Three new LES SGS models for two-phase flow --- .../LES/Niceno/NicenoKEqn.C | 237 ++++++++++++++++++ .../LES/Niceno/NicenoKEqn.H | 177 +++++++++++++ .../LES/SmagorinskyZhang/SmagorinskyZhang.C | 153 +++++++++++ .../LES/SmagorinskyZhang/SmagorinskyZhang.H | 170 +++++++++++++ .../LES/continuousGasKEqn/continuousGasKEqn.C | 169 +++++++++++++ .../LES/continuousGasKEqn/continuousGasKEqn.H | 162 ++++++++++++ 6 files changed, 1068 insertions(+) create mode 100644 src/TurbulenceModels/phaseIncompressible/LES/Niceno/NicenoKEqn.C create mode 100644 src/TurbulenceModels/phaseIncompressible/LES/Niceno/NicenoKEqn.H create mode 100644 src/TurbulenceModels/phaseIncompressible/LES/SmagorinskyZhang/SmagorinskyZhang.C create mode 100644 src/TurbulenceModels/phaseIncompressible/LES/SmagorinskyZhang/SmagorinskyZhang.H create mode 100644 src/TurbulenceModels/phaseIncompressible/LES/continuousGasKEqn/continuousGasKEqn.C create mode 100644 src/TurbulenceModels/phaseIncompressible/LES/continuousGasKEqn/continuousGasKEqn.H diff --git a/src/TurbulenceModels/phaseIncompressible/LES/Niceno/NicenoKEqn.C b/src/TurbulenceModels/phaseIncompressible/LES/Niceno/NicenoKEqn.C new file mode 100644 index 0000000000..1ffdd0553a --- /dev/null +++ b/src/TurbulenceModels/phaseIncompressible/LES/Niceno/NicenoKEqn.C @@ -0,0 +1,237 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2013 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 "NicenoKEqn.H" +#include "addToRunTimeSelectionTable.H" +#include "twoPhaseSystem.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ +namespace LESModels +{ + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +template +NicenoKEqn::NicenoKEqn +( + const alphaField& alpha, + const rhoField& rho, + const volVectorField& U, + const surfaceScalarField& alphaPhi, + const surfaceScalarField& phi, + const transportModel& transport, + const word& propertiesName, + const word& type +) +: + kEqn + ( + alpha, + rho, + U, + alphaPhi, + phi, + transport, + propertiesName, + type + ), + + gasTurbulencePtr_(NULL), + + alphaInversion_ + ( + dimensioned::lookupOrAddToDict + ( + "alphaInversion", + this->coeffDict_, + 0.3 + ) + ), + + Cp_ + ( + dimensioned::lookupOrAddToDict + ( + "Cp", + this->coeffDict_, + this->Ck_.value() + ) + ), + + Cmub_ + ( + dimensioned::lookupOrAddToDict + ( + "Cmub", + this->coeffDict_, + 0.6 + ) + ) +{ + if (type == typeName) + { + correctNut(); + this->printCoeffs(type); + } +} + + +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +template +bool NicenoKEqn::read() +{ + if (kEqn::read()) + { + alphaInversion_.readIfPresent(this->coeffDict()); + Cp_.readIfPresent(this->coeffDict()); + Cmub_.readIfPresent(this->coeffDict()); + + return true; + } + else + { + return false; + } +} + + +template +const PhaseIncompressibleTurbulenceModel +< + typename BasicTurbulenceModel::transportModel +>& +NicenoKEqn::gasTurbulence() const +{ + if (!gasTurbulencePtr_) + { + const volVectorField& U = this->U_; + + const transportModel& liquid = this->transport(); + const twoPhaseSystem& fluid = liquid.fluid(); + const transportModel& gas = fluid.otherPhase(liquid); + + gasTurbulencePtr_ = + &U.db() + .lookupObject > + ( + IOobject::groupName + ( + turbulenceModel::propertiesName, + gas.name() + ) + ); + } + + return *gasTurbulencePtr_; +} + + +template +void NicenoKEqn::correctNut() +{ + const PhaseIncompressibleTurbulenceModel& gasTurbulence = + this->gasTurbulence(); + + this->nut_ = + this->Ck_*sqrt(this->k_)*this->delta() + + Cmub_*gasTurbulence.transport().d()*gasTurbulence.alpha() + *(mag(this->U_ - gasTurbulence.U())); + + this->nut_.correctBoundaryConditions(); +} + + +template +tmp NicenoKEqn::bubbleG() const +{ + const PhaseIncompressibleTurbulenceModel& gasTurbulence = + this->gasTurbulence(); + + const transportModel& liquid = this->transport(); + const twoPhaseSystem& fluid = liquid.fluid(); + const transportModel& gas = fluid.otherPhase(liquid); + + volScalarField magUr(mag(this->U_ - gasTurbulence.U())); + + tmp bubbleG + ( + Cp_*gas*sqr(magUr)*fluid.drag(gas).K(magUr)/liquid.rho() + ); + + return bubbleG; +} + + +template +tmp +NicenoKEqn::phaseTransferCoeff() const +{ + const volVectorField& U = this->U_; + const alphaField& alpha = this->alpha_; + const rhoField& rho = this->rho_; + + const turbulenceModel& gasTurbulence = this->gasTurbulence(); + + return + ( + max(alphaInversion_ - alpha, 0.0) + *rho + *min + ( + this->Ce_*sqrt(gasTurbulence.k())/this->delta(), + 1.0/U.time().deltaT() + ) + ); +} + + +template +tmp NicenoKEqn::kSource() const +{ + const alphaField& alpha = this->alpha_; + const rhoField& rho = this->rho_; + + const PhaseIncompressibleTurbulenceModel& gasTurbulence = + this->gasTurbulence(); + + const volScalarField phaseTransferCoeff(this->phaseTransferCoeff()); + + return + alpha*rho*bubbleG() + + phaseTransferCoeff*gasTurbulence.k() + - fvm::Sp(phaseTransferCoeff, this->k_); +} + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace LESModels +} // End namespace Foam + +// ************************************************************************* // diff --git a/src/TurbulenceModels/phaseIncompressible/LES/Niceno/NicenoKEqn.H b/src/TurbulenceModels/phaseIncompressible/LES/Niceno/NicenoKEqn.H new file mode 100644 index 0000000000..e928e8e6bd --- /dev/null +++ b/src/TurbulenceModels/phaseIncompressible/LES/Niceno/NicenoKEqn.H @@ -0,0 +1,177 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2013 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::LESModels::NicenoKEqn + +Group + grpLESTurbulence + +Description + One-equation SGS model for the continuous phase in a two-phase system + including bubble-generated turbulence. + + Reference: + \verbatim + "One-equation sub-grid scale (SGS) modelling for Euler-Euler + large eddy simulation (EELES) of dispersed bubbly flow" + B. Niceno, + M.T. Dhotre, + N.G. Dee + Chemical Engineering Science 63 (2008) pp. 3923-3931. + \endverbatim + + The default model coefficients correspond to the following: + \verbatim + NicenoKEqnCoeffs + { + Ck 0.094; + Ce 1.048; + alphaInversion 0.3; + Cp Ck; + Cmub 0.6; + } + \endverbatim + +SourceFiles + NicenoKEqn.C + +\*---------------------------------------------------------------------------*/ + +#ifndef NicenoKEqn_H +#define NicenoKEqn_H + +#include "kEqn.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ +namespace LESModels +{ + +/*---------------------------------------------------------------------------*\ + Class NicenoKEqn Declaration +\*---------------------------------------------------------------------------*/ + +template +class NicenoKEqn +: + public kEqn +{ + // Private data + + mutable const PhaseIncompressibleTurbulenceModel + < + typename BasicTurbulenceModel::transportModel + > *gasTurbulencePtr_; + + + // Private Member Functions + + //- Return the turbulence model for the gas phase + const PhaseIncompressibleTurbulenceModel + < + typename BasicTurbulenceModel::transportModel + >& + gasTurbulence() const; + + // Disallow default bitwise copy construct and assignment + NicenoKEqn(const NicenoKEqn&); + NicenoKEqn& operator=(const NicenoKEqn&); + + +protected: + + // Protected data + + // Model coefficients + + dimensionedScalar alphaInversion_; + dimensionedScalar Cp_; + dimensionedScalar Cmub_; + + + // Protected Member Functions + + virtual void correctNut(); + tmp bubbleG() const; + tmp phaseTransferCoeff() const; + virtual tmp kSource() const; + + +public: + + typedef typename BasicTurbulenceModel::alphaField alphaField; + typedef typename BasicTurbulenceModel::rhoField rhoField; + typedef typename BasicTurbulenceModel::transportModel transportModel; + + + //- Runtime type information + TypeName("NicenoKEqn"); + + + // Constructors + + //- Construct from components + NicenoKEqn + ( + const alphaField& alpha, + const rhoField& rho, + const volVectorField& U, + const surfaceScalarField& alphaPhi, + const surfaceScalarField& phi, + const transportModel& transport, + const word& propertiesName = turbulenceModel::propertiesName, + const word& type = typeName + ); + + + //- Destructor + virtual ~NicenoKEqn() + {} + + + // Member Functions + + //- Read model coefficients if they have changed + virtual bool read(); +}; + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace LESModels +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#ifdef NoRepository +# include "NicenoKEqn.C" +#endif + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/src/TurbulenceModels/phaseIncompressible/LES/SmagorinskyZhang/SmagorinskyZhang.C b/src/TurbulenceModels/phaseIncompressible/LES/SmagorinskyZhang/SmagorinskyZhang.C new file mode 100644 index 0000000000..0d7331a9e7 --- /dev/null +++ b/src/TurbulenceModels/phaseIncompressible/LES/SmagorinskyZhang/SmagorinskyZhang.C @@ -0,0 +1,153 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2013 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 "SmagorinskyZhang.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ +namespace LESModels +{ + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +template +SmagorinskyZhang::SmagorinskyZhang +( + const alphaField& alpha, + const rhoField& rho, + const volVectorField& U, + const surfaceScalarField& alphaPhi, + const surfaceScalarField& phi, + const transportModel& transport, + const word& propertiesName, + const word& type +) +: + Smagorinsky + ( + alpha, + rho, + U, + alphaPhi, + phi, + transport, + propertiesName, + type + ), + + gasTurbulencePtr_(NULL), + + Cmub_ + ( + dimensioned::lookupOrAddToDict + ( + "Cmub", + this->coeffDict_, + 0.6 + ) + ) +{ + if (type == typeName) + { + correctNut(); + this->printCoeffs(type); + } +} + + +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +template +bool SmagorinskyZhang::read() +{ + if (Smagorinsky::read()) + { + Cmub_.readIfPresent(this->coeffDict()); + + return true; + } + else + { + return false; + } +} + + +template +const PhaseIncompressibleTurbulenceModel +< + typename BasicTurbulenceModel::transportModel +>& +SmagorinskyZhang::gasTurbulence() const +{ + if (!gasTurbulencePtr_) + { + const volVectorField& U = this->U_; + + const transportModel& liquid = this->transport(); + const twoPhaseSystem& fluid = liquid.fluid(); + const transportModel& gas = fluid.otherPhase(liquid); + + gasTurbulencePtr_ = + &U.db() + .lookupObject > + ( + IOobject::groupName + ( + turbulenceModel::propertiesName, + gas.name() + ) + ); + } + + return *gasTurbulencePtr_; +} + + +template +void SmagorinskyZhang::correctNut() +{ + const PhaseIncompressibleTurbulenceModel& gasTurbulence = + this->gasTurbulence(); + + volScalarField k(this->k(fvc::grad(this->U_))); + + this->nut_ = + this->Ck_*sqrt(k)*this->delta() + + Cmub_*gasTurbulence.transport().d()*gasTurbulence.alpha() + *(mag(this->U_ - gasTurbulence.U())); + + this->nut_.correctBoundaryConditions(); +} + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace LESModels +} // End namespace Foam + +// ************************************************************************* // diff --git a/src/TurbulenceModels/phaseIncompressible/LES/SmagorinskyZhang/SmagorinskyZhang.H b/src/TurbulenceModels/phaseIncompressible/LES/SmagorinskyZhang/SmagorinskyZhang.H new file mode 100644 index 0000000000..20f65da2da --- /dev/null +++ b/src/TurbulenceModels/phaseIncompressible/LES/SmagorinskyZhang/SmagorinskyZhang.H @@ -0,0 +1,170 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2013 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::LESModels::SmagorinskyZhang + +Group + grpLESTurbulence + +Description + The Smagorinsky SGS model including bubble-generated turbulence + + Reference: + \verbatim + "Numerical simulation of the dynamic flow behavior in a bubble column: + A study of closures for turbulence and interface forces" + D. Zhang, + N.G. Deen, + J.A.M. Kuipers, + Chemical Engineering Science 61 (2006) pp 7593-7608. + \endverbatim + + The default model coefficients correspond to the following: + \verbatim + SmagorinskyZhangCoeffs + { + Ck 0.094; + Ce 1.048; + Cmub 0.6; + } + \endverbatim + +SourceFiles + SmagorinskyZhang.C + +\*---------------------------------------------------------------------------*/ + +#ifndef SmagorinskyZhang_H +#define SmagorinskyZhang_H + +#include "LESModel.H" +#include "eddyViscosity.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ +namespace LESModels +{ + +/*---------------------------------------------------------------------------*\ + Class SmagorinskyZhang Declaration +\*---------------------------------------------------------------------------*/ + +template +class SmagorinskyZhang +: + public Smagorinsky +{ + // Private data + + mutable const PhaseIncompressibleTurbulenceModel + < + typename BasicTurbulenceModel::transportModel + > *gasTurbulencePtr_; + + + // Private Member Functions + + //- Return the turbulence model for the gas phase + const PhaseIncompressibleTurbulenceModel + < + typename BasicTurbulenceModel::transportModel + >& + gasTurbulence() const; + + // Disallow default bitwise copy construct and assignment + SmagorinskyZhang(const SmagorinskyZhang&); + SmagorinskyZhang& operator=(const SmagorinskyZhang&); + + +protected: + + // Protected data + + // Model coefficients + + dimensionedScalar Cmub_; + + + // Protected Member Functions + + virtual void correctNut(); + + +public: + + typedef typename BasicTurbulenceModel::alphaField alphaField; + typedef typename BasicTurbulenceModel::rhoField rhoField; + typedef typename BasicTurbulenceModel::transportModel transportModel; + + + //- Runtime type information + TypeName("SmagorinskyZhang"); + + + // Constructors + + //- Construct from components + SmagorinskyZhang + ( + const alphaField& alpha, + const rhoField& rho, + const volVectorField& U, + const surfaceScalarField& alphaPhi, + const surfaceScalarField& phi, + const transportModel& transport, + const word& propertiesName = turbulenceModel::propertiesName, + const word& type = typeName + ); + + + //- Destructor + virtual ~SmagorinskyZhang() + {} + + + // Member Functions + + //- Read model coefficients if they have changed + virtual bool read(); +}; + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace LESModels +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#ifdef NoRepository +# include "SmagorinskyZhang.C" +#endif + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/src/TurbulenceModels/phaseIncompressible/LES/continuousGasKEqn/continuousGasKEqn.C b/src/TurbulenceModels/phaseIncompressible/LES/continuousGasKEqn/continuousGasKEqn.C new file mode 100644 index 0000000000..e3a3b2f58d --- /dev/null +++ b/src/TurbulenceModels/phaseIncompressible/LES/continuousGasKEqn/continuousGasKEqn.C @@ -0,0 +1,169 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2013 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 "continuousGasKEqn.H" +#include "addToRunTimeSelectionTable.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ +namespace LESModels +{ + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +template +continuousGasKEqn::continuousGasKEqn +( + const alphaField& alpha, + const rhoField& rho, + const volVectorField& U, + const surfaceScalarField& alphaPhi, + const surfaceScalarField& phi, + const transportModel& transport, + const word& propertiesName, + const word& type +) +: + kEqn + ( + alpha, + rho, + U, + alphaPhi, + phi, + transport, + propertiesName, + type + ), + + liquidTurbulencePtr_(NULL), + + alphaInversion_ + ( + dimensioned::lookupOrAddToDict + ( + "alphaInversion", + this->coeffDict_, + 0.7 + ) + ) +{ + if (type == typeName) + { + kEqn::correctNut(); + this->printCoeffs(type); + } +} + + +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +template +bool continuousGasKEqn::read() +{ + if (kEqn::read()) + { + alphaInversion_.readIfPresent(this->coeffDict()); + + return true; + } + else + { + return false; + } +} + + +template +const turbulenceModel& +continuousGasKEqn::liquidTurbulence() const +{ + if (!liquidTurbulencePtr_) + { + const volVectorField& U = this->U_; + + const transportModel& gas = this->transport(); + const twoPhaseSystem& fluid = gas.fluid(); + const transportModel& liquid = fluid.otherPhase(gas); + + liquidTurbulencePtr_ = + &U.db().lookupObject + ( + IOobject::groupName + ( + turbulenceModel::propertiesName, + liquid.name() + ) + ); + } + + return *liquidTurbulencePtr_; +} + + +template +tmp +continuousGasKEqn::phaseTransferCoeff() const +{ + const volVectorField& U = this->U_; + const alphaField& alpha = this->alpha_; + const rhoField& rho = this->rho_; + + const turbulenceModel& liquidTurbulence = this->liquidTurbulence(); + + return + ( + max(alphaInversion_ - alpha, 0.0) + *rho + *min + ( + this->Ce_*sqrt(liquidTurbulence.k())/this->delta(), + 1.0/U.time().deltaT() + ) + ); +} + + +template +tmp +continuousGasKEqn::kSource() const +{ + const turbulenceModel& liquidTurbulence = this->liquidTurbulence(); + const volScalarField phaseTransferCoeff(this->phaseTransferCoeff()); + + return + phaseTransferCoeff*liquidTurbulence.k() + - fvm::Sp(phaseTransferCoeff, this->k_); +} + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace LESModels +} // End namespace Foam + +// ************************************************************************* // diff --git a/src/TurbulenceModels/phaseIncompressible/LES/continuousGasKEqn/continuousGasKEqn.H b/src/TurbulenceModels/phaseIncompressible/LES/continuousGasKEqn/continuousGasKEqn.H new file mode 100644 index 0000000000..25a7d044ef --- /dev/null +++ b/src/TurbulenceModels/phaseIncompressible/LES/continuousGasKEqn/continuousGasKEqn.H @@ -0,0 +1,162 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2013 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::LESModels::continuousGasKEqn + +Group + grpLESTurbulence + +Description + One-equation SGS model for the gas-phase in a two-phase system + supporting phase-inversion. + + In the limit that the gas-phase fraction approaches zero a contribution from + the other phase is blended into the k-equation up to the phase-fraction of + alphaInversion at which point phase-inversion is considered to have occurred + and the model reverts to the pure single-phase form. + + This model is unpublished and is provided as a stable numerical framework + on which a more physical model may be built. + + The default model coefficients correspond to the following: + \verbatim + continuousKEqnCoeffs + { + Ck 0.094; + Ce 1.048; + alphaInversion 0.7; + } + \endverbatim + +SourceFiles + continuousGasKEqn.C + +\*---------------------------------------------------------------------------*/ + +#ifndef continuousGasKEqn_H +#define continuousGasKEqn_H + +#include "kEqn.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ +namespace LESModels +{ + +/*---------------------------------------------------------------------------*\ + Class continuousGasKEqn Declaration +\*---------------------------------------------------------------------------*/ + +template +class continuousGasKEqn +: + public kEqn +{ + // Private data + + mutable const turbulenceModel *liquidTurbulencePtr_; + + + // Private Member Functions + + // Disallow default bitwise copy construct and assignment + continuousGasKEqn(const continuousGasKEqn&); + continuousGasKEqn& operator=(const continuousGasKEqn&); + + +protected: + + // Protected data + + // Model coefficients + + dimensionedScalar alphaInversion_; + + + // Protected Member Functions + + //- Return the turbulence model for the liquid phase + const turbulenceModel& liquidTurbulence() const; + + tmp phaseTransferCoeff() const; + virtual tmp kSource() const; + + +public: + + typedef typename BasicTurbulenceModel::alphaField alphaField; + typedef typename BasicTurbulenceModel::rhoField rhoField; + typedef typename BasicTurbulenceModel::transportModel transportModel; + + + //- Runtime type information + TypeName("continuousGasKEqn"); + + + // Constructors + + //- Construct from components + continuousGasKEqn + ( + const alphaField& alpha, + const rhoField& rho, + const volVectorField& U, + const surfaceScalarField& alphaPhi, + const surfaceScalarField& phi, + const transportModel& transport, + const word& propertiesName = turbulenceModel::propertiesName, + const word& type = typeName + ); + + + //- Destructor + virtual ~continuousGasKEqn() + {} + + + // Member Functions + + //- Read model coefficients if they have changed + virtual bool read(); +}; + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace LESModels +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#ifdef NoRepository +# include "continuousGasKEqn.C" +#endif + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // From dcfb92801b4184661ff636739c9cb323ffd61913 Mon Sep 17 00:00:00 2001 From: Henry Date: Fri, 2 Aug 2013 16:34:25 +0100 Subject: [PATCH 4/6] TurbulenceModels: Reorganised, cleaned, added documentation and made more consistent --- .../kineticTheoryModel/kineticTheoryModel.C | 398 +++++++++--------- .../kineticTheoryModel/kineticTheoryModel.H | 27 +- .../phaseIncompressibleTurbulenceModels.C | 48 +++ .../phasePressureModel/phasePressureModel.C | 99 ++--- .../phasePressureModel/phasePressureModel.H | 34 +- .../compressibleTurbulenceModel.H | 2 +- .../RAS/LaheyKEpsilon/LaheyKEpsilon.H | 50 ++- .../continuousGasKEpsilon.H | 40 +- .../turbulenceModels/LES/LESModel/LESModel.H | 7 +- .../LES/Smagorinsky/Smagorinsky.C | 23 +- .../LES/Smagorinsky/Smagorinsky.H | 43 +- .../turbulenceModels/LES/kEqn/kEqn.C | 18 +- .../turbulenceModels/LES/kEqn/kEqn.H | 41 +- .../turbulenceModels/RAS/RASModel/RASModel.H | 7 +- .../turbulenceModels/RAS/kEpsilon/kEpsilon.H | 14 +- .../eddyViscosity/eddyViscosity.H | 8 +- .../turbulenceModels/turbulenceModel.H | 6 +- 17 files changed, 510 insertions(+), 355 deletions(-) diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.C b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.C index d26226feda..9b4c373420 100644 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.C +++ b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.C @@ -129,7 +129,12 @@ Foam::kineticTheoryModel::kineticTheoryModel U.mesh(), dimensionedScalar("zero", dimensionSet(0, 2, -1, 0, 0), 0.0) ) -{} +{ + if (type == typeName) + { + this->printCoeffs(type); + } +} // * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // @@ -140,6 +145,199 @@ Foam::kineticTheoryModel::~kineticTheoryModel() // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // +bool Foam::kineticTheoryModel::read() +{ + if + ( + eddyViscosity + < + RASModel > + >::read() + ) + { + this->coeffDict().lookup("equilibrium") >> equilibrium_; + e_.readIfPresent(this->coeffDict()); + alphaMax_.readIfPresent(this->coeffDict()); + alphaMinFriction_.readIfPresent(this->coeffDict()); + + viscosityModel_->read(); + conductivityModel_->read(); + radialModel_->read(); + granularPressureModel_->read(); + frictionalStressModel_->read(); + + return true; + } + else + { + return false; + } +} + + +Foam::tmp Foam::kineticTheoryModel::k() const +{ + notImplemented("kineticTheoryModel::k()"); + return nut_; +} + + +Foam::tmp Foam::kineticTheoryModel::epsilon() const +{ + notImplemented("kineticTheoryModel::epsilon()"); + return nut_; +} + + +Foam::tmp Foam::kineticTheoryModel::R() const +{ + return tmp + ( + new volSymmTensorField + ( + IOobject + ( + IOobject::groupName("R", this->U_.group()), + this->runTime_.timeName(), + this->mesh_, + IOobject::NO_READ, + IOobject::NO_WRITE + ), + - (this->nut_)*dev(twoSymm(fvc::grad(this->U_))) + - (lambda_*fvc::div(this->phi_))*symmTensor::I + ) + ); +} + + +/* +Foam::tmp Foam::kineticTheoryModel::pp() const +{ + + // Particle pressure coefficient + // Coefficient in front of Theta (Eq. 3.22, p. 45) + volScalarField PsCoeff + ( + granularPressureModel_->granularPressureCoeff + ( + alpha, + gs0, + rho, + e_ + ) + ); + + // Frictional pressure + volScalarField pf + ( + frictionalStressModel_->frictionalPressure + ( + alpha, + alphaMinFriction_, + alphaMax_ + ) + ); + + // Return total particle pressure + return PsCoeff*Theta_ + pf; +} +*/ + + +Foam::tmp Foam::kineticTheoryModel::pPrime() const +{ + // Local references + const volScalarField& alpha = this->alpha_; + const volScalarField& rho = phase_.rho(); + + return + ( + Theta_ + *granularPressureModel_->granularPressureCoeffPrime + ( + alpha, + radialModel_->g0(alpha, alphaMinFriction_, alphaMax_), + radialModel_->g0prime(alpha, alphaMinFriction_, alphaMax_), + rho, + e_ + ) + + frictionalStressModel_->frictionalPressurePrime + ( + alpha, + alphaMinFriction_, + alphaMax_ + ) + ); +} + + +Foam::tmp Foam::kineticTheoryModel::pPrimef() const +{ + // Local references + const volScalarField& alpha = this->alpha_; + const volScalarField& rho = phase_.rho(); + + return fvc::interpolate + ( + Theta_ + *granularPressureModel_->granularPressureCoeffPrime + ( + alpha, + radialModel_->g0(alpha, alphaMinFriction_, alphaMax_), + radialModel_->g0prime(alpha, alphaMinFriction_, alphaMax_), + rho, + e_ + ) + + frictionalStressModel_->frictionalPressurePrime + ( + alpha, + alphaMinFriction_, + alphaMax_ + ) + ); +} + + +Foam::tmp Foam::kineticTheoryModel::devRhoReff() const +{ + return tmp + ( + new volSymmTensorField + ( + IOobject + ( + IOobject::groupName("devRhoReff", this->U_.group()), + this->runTime_.timeName(), + this->mesh_, + IOobject::NO_READ, + IOobject::NO_WRITE + ), + - (this->rho_*this->nut_) + *dev(twoSymm(fvc::grad(this->U_))) + - ((this->rho_*lambda_)*fvc::div(this->phi_))*symmTensor::I + ) + ); +} + + +Foam::tmp Foam::kineticTheoryModel::divDevRhoReff +( + volVectorField& U +) const +{ + return + ( + - fvm::laplacian(this->rho_*this->nut_, U) + - fvc::div + ( + (this->rho_*this->nut_)*dev2(T(fvc::grad(U))) + + ((this->rho_*lambda_)*fvc::div(this->phi_)) + *dimensioned("I", dimless, symmTensor::I) + ) + ); +} + + void Foam::kineticTheoryModel::correct() { // Local references @@ -343,202 +541,4 @@ void Foam::kineticTheoryModel::correct() } } - -/* -Foam::tmp Foam::kineticTheoryModel::pp() const -{ - - // Particle pressure coefficient - // Coefficient in front of Theta (Eq. 3.22, p. 45) - volScalarField PsCoeff - ( - granularPressureModel_->granularPressureCoeff - ( - alpha, - gs0, - rho, - e_ - ) - ); - - // Frictional pressure - volScalarField pf - ( - frictionalStressModel_->frictionalPressure - ( - alpha, - alphaMinFriction_, - alphaMax_ - ) - ); - - // Return total particle pressure - return PsCoeff*Theta_ + pf; -} -*/ - - -Foam::tmp Foam::kineticTheoryModel::pPrime() const -{ - // Local references - const volScalarField& alpha = this->alpha_; - const volScalarField& rho = phase_.rho(); - - return - ( - Theta_ - *granularPressureModel_->granularPressureCoeffPrime - ( - alpha, - radialModel_->g0(alpha, alphaMinFriction_, alphaMax_), - radialModel_->g0prime(alpha, alphaMinFriction_, alphaMax_), - rho, - e_ - ) - + frictionalStressModel_->frictionalPressurePrime - ( - alpha, - alphaMinFriction_, - alphaMax_ - ) - ); -} - - -Foam::tmp Foam::kineticTheoryModel::pPrimef() const -{ - // Local references - const volScalarField& alpha = this->alpha_; - const volScalarField& rho = phase_.rho(); - - return fvc::interpolate - ( - Theta_ - *granularPressureModel_->granularPressureCoeffPrime - ( - alpha, - radialModel_->g0(alpha, alphaMinFriction_, alphaMax_), - radialModel_->g0prime(alpha, alphaMinFriction_, alphaMax_), - rho, - e_ - ) - + frictionalStressModel_->frictionalPressurePrime - ( - alpha, - alphaMinFriction_, - alphaMax_ - ) - ); -} - - -void Foam::kineticTheoryModel::correctNut() -{} - - -Foam::tmp Foam::kineticTheoryModel::k() const -{ - notImplemented("kineticTheoryModel::k()"); - return nut_; -} - - -Foam::tmp Foam::kineticTheoryModel::epsilon() const -{ - notImplemented("kineticTheoryModel::epsilon()"); - return nut_; -} - - -Foam::tmp Foam::kineticTheoryModel::R() const -{ - return tmp - ( - new volSymmTensorField - ( - IOobject - ( - IOobject::groupName("R", this->U_.group()), - this->runTime_.timeName(), - this->mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE - ), - - (this->nut_)*dev(twoSymm(fvc::grad(this->U_))) - - (lambda_*fvc::div(this->phi_))*symmTensor::I - ) - ); -} - - -Foam::tmp Foam::kineticTheoryModel::devRhoReff() const -{ - return tmp - ( - new volSymmTensorField - ( - IOobject - ( - IOobject::groupName("devRhoReff", this->U_.group()), - this->runTime_.timeName(), - this->mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE - ), - - (this->rho_*this->nut_) - *dev(twoSymm(fvc::grad(this->U_))) - - ((this->rho_*lambda_)*fvc::div(this->phi_))*symmTensor::I - ) - ); -} - - -Foam::tmp Foam::kineticTheoryModel::divDevRhoReff -( - volVectorField& U -) const -{ - return - ( - - fvm::laplacian(this->rho_*this->nut_, U) - - fvc::div - ( - (this->rho_*this->nut_)*dev2(T(fvc::grad(U))) - + ((this->rho_*lambda_)*fvc::div(this->phi_)) - *dimensioned("I", dimless, symmTensor::I) - ) - ); -} - - -bool Foam::kineticTheoryModel::read() -{ - if - ( - eddyViscosity - < - RASModel > - >::read() - ) - { - this->coeffDict().lookup("equilibrium") >> equilibrium_; - e_.readIfPresent(this->coeffDict()); - alphaMax_.readIfPresent(this->coeffDict()); - alphaMinFriction_.readIfPresent(this->coeffDict()); - - viscosityModel_->read(); - conductivityModel_->read(); - radialModel_->read(); - granularPressureModel_->read(); - frictionalStressModel_->read(); - - return true; - } - else - { - return false; - } -} - - // ************************************************************************* // diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.H b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.H index 981aaf5a68..4f6164682f 100644 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.H +++ b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.H @@ -25,6 +25,17 @@ Class Foam::kineticTheoryModel Description + Kinetic theory particle phase RAS model + + Reference: + \verbatim + "Derivation, implementation, and validation of computer simulation + models for gas-solid fluidized beds", + B.G.M. van Wachem, + Ph.D. Thesis, Delft University of Technology, Amsterdam, 2000. + \endverbatim + + There are no default model coefficients. SourceFiles kineticTheoryModel.C @@ -118,6 +129,9 @@ class kineticTheoryModel // Private Member Functions + void correctNut() + {} + //- Disallow default bitwise copy construct kineticTheoryModel(const kineticTheoryModel&); @@ -125,13 +139,6 @@ class kineticTheoryModel void operator=(const kineticTheoryModel&); -protected: - - // Protected member functions - - virtual void correctNut(); - - public: //- Runtime type information @@ -160,6 +167,9 @@ public: // Member Functions + //- Re-read model coefficients if they have changed + virtual bool read(); + //- Return the effective viscosity virtual tmp nuEff() const { @@ -197,9 +207,6 @@ public: //- Solve the kinetic theory equations and correct the viscosity virtual void correct(); - - //- Re-read model coefficients if they have changed - virtual bool read(); }; diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/phaseIncompressibleTurbulenceModels.C b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/phaseIncompressibleTurbulenceModels.C index aa49f6d1eb..a1817fefb5 100644 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/phaseIncompressibleTurbulenceModels.C +++ b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/phaseIncompressibleTurbulenceModels.C @@ -182,7 +182,10 @@ namespace Foam #include "LESModel.H" #include "Smagorinsky.H" +#include "SmagorinskyZhang.H" #include "kEqn.H" +#include "NicenoKEqn.H" +#include "continuousGasKEqn.H" namespace Foam { @@ -215,6 +218,21 @@ namespace Foam ); } + namespace LESModels + { + typedef SmagorinskyZhang + incompressibleSmagorinskyZhang; + + defineNamedTemplateTypeNameAndDebug(incompressibleSmagorinskyZhang, 0); + + addToRunTimeSelectionTable + ( + incompressibleLESModel, + incompressibleSmagorinskyZhang, + dictionary + ); + } + namespace LESModels { typedef kEqn @@ -229,6 +247,36 @@ namespace Foam dictionary ); } + + namespace LESModels + { + typedef NicenoKEqn + incompressibleNicenoKEqn; + + defineNamedTemplateTypeNameAndDebug(incompressibleNicenoKEqn, 0); + + addToRunTimeSelectionTable + ( + incompressibleLESModel, + incompressibleNicenoKEqn, + dictionary + ); + } + + namespace LESModels + { + typedef continuousGasKEqn + incompressiblecontinuousGasKEqn; + + defineNamedTemplateTypeNameAndDebug(incompressiblecontinuousGasKEqn, 0); + + addToRunTimeSelectionTable + ( + incompressibleLESModel, + incompressiblecontinuousGasKEqn, + dictionary + ); + } } diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/phasePressureModel/phasePressureModel.C b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/phasePressureModel/phasePressureModel.C index 6c0d8852db..dda70d3714 100644 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/phasePressureModel/phasePressureModel.C +++ b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/phasePressureModel/phasePressureModel.C @@ -65,6 +65,11 @@ Foam::phasePressureModel::phasePressureModel ) { this->nut_ == dimensionedScalar("zero", this->nut_.dimensions(), 0.0); + + if (type == typeName) + { + this->printCoeffs(type); + } } @@ -76,35 +81,27 @@ Foam::phasePressureModel::~phasePressureModel() // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // -void Foam::phasePressureModel::correct() -{} - - -void Foam::phasePressureModel::correctNut() -{} - - -Foam::tmp Foam::phasePressureModel::pPrime() const +bool Foam::phasePressureModel::read() { - return - g0_ - *min - ( - exp(preAlphaExp_*(this->alpha_ - alphaMax_)), - expMax_ - ); -} + if + ( + eddyViscosity + < + RASModel > + >::read() + ) + { + this->coeffDict().lookup("alphaMax") >> alphaMax_; + this->coeffDict().lookup("preAlphaExp") >> preAlphaExp_; + this->coeffDict().lookup("expMax") >> expMax_; + g0_.readIfPresent(this->coeffDict()); - -Foam::tmp Foam::phasePressureModel::pPrimef() const -{ - return - g0_ - *min - ( - exp(preAlphaExp_*(fvc::interpolate(this->alpha_) - alphaMax_)), - expMax_ - ); + return true; + } + else + { + return false; + } } @@ -148,6 +145,30 @@ Foam::tmp Foam::phasePressureModel::R() const } +Foam::tmp Foam::phasePressureModel::pPrime() const +{ + return + g0_ + *min + ( + exp(preAlphaExp_*(this->alpha_ - alphaMax_)), + expMax_ + ); +} + + +Foam::tmp Foam::phasePressureModel::pPrimef() const +{ + return + g0_ + *min + ( + exp(preAlphaExp_*(fvc::interpolate(this->alpha_) - alphaMax_)), + expMax_ + ); +} + + Foam::tmp Foam::phasePressureModel::devRhoReff() const { return tmp @@ -190,28 +211,8 @@ Foam::tmp Foam::phasePressureModel::divDevRhoReff } -bool Foam::phasePressureModel::read() -{ - if - ( - eddyViscosity - < - RASModel > - >::read() - ) - { - this->coeffDict().lookup("alphaMax") >> alphaMax_; - this->coeffDict().lookup("preAlphaExp") >> preAlphaExp_; - this->coeffDict().lookup("expMax") >> expMax_; - g0_.readIfPresent(this->coeffDict()); - - return true; - } - else - { - return false; - } -} +void Foam::phasePressureModel::correct() +{} // ************************************************************************* // diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/phasePressureModel/phasePressureModel.H b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/phasePressureModel/phasePressureModel.H index 2441094639..aebdf09014 100644 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/phasePressureModel/phasePressureModel.H +++ b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/phasePressureModel/phasePressureModel.H @@ -25,6 +25,23 @@ Class Foam::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 @@ -39,7 +56,6 @@ SourceFiles #include "PhaseIncompressibleTurbulenceModel.H" #include "phaseModel.H" - // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // namespace Foam @@ -80,6 +96,9 @@ class phasePressureModel // Private Member Functions + void correctNut() + {} + //- Disallow default bitwise copy construct phasePressureModel(const phasePressureModel&); @@ -87,13 +106,6 @@ class phasePressureModel void operator=(const phasePressureModel&); -protected: - - // Protected member functions - - virtual void correctNut(); - - public: //- Runtime type information @@ -122,6 +134,9 @@ public: // Member Functions + //- Re-read model coefficients if they have changed + virtual bool read(); + //- Return the effective viscosity virtual tmp nuEff() const { @@ -159,9 +174,6 @@ public: //- Solve the kinetic theory equations and correct the viscosity virtual void correct(); - - //- Re-read model coefficients if they have changed - virtual bool read(); }; diff --git a/src/TurbulenceModels/compressible/compressibleTurbulenceModel.H b/src/TurbulenceModels/compressible/compressibleTurbulenceModel.H index d762dc5a05..0754085f4a 100644 --- a/src/TurbulenceModels/compressible/compressibleTurbulenceModel.H +++ b/src/TurbulenceModels/compressible/compressibleTurbulenceModel.H @@ -96,7 +96,7 @@ public: {} - // Member Functions + // Member functions //- Return the effective stress tensor including the laminar stress virtual tmp devRhoReff() const = 0; diff --git a/src/TurbulenceModels/phaseIncompressible/RAS/LaheyKEpsilon/LaheyKEpsilon.H b/src/TurbulenceModels/phaseIncompressible/RAS/LaheyKEpsilon/LaheyKEpsilon.H index 8766fe454f..a73255b3e0 100644 --- a/src/TurbulenceModels/phaseIncompressible/RAS/LaheyKEpsilon/LaheyKEpsilon.H +++ b/src/TurbulenceModels/phaseIncompressible/RAS/LaheyKEpsilon/LaheyKEpsilon.H @@ -28,6 +28,31 @@ Group grpRASTurbulence Description + Continuous-phase k-epsilon model including bubble-generated turbulence. + + Reference: + \verbatim + "The simulation of multidimensional multiphase flows", + Lahey R.T., + Nucl. Eng. & Design + 2005 (235) pp.1043-1060. + \endverbatim + + The default model coefficients correspond to the following: + \verbatim + LaheyKEpsilonCoeffs + { + Cmu 0.09; + C1 1.44; + C2 1.92; + C3 -0.33; + sigmak 1.0; + sigmaEps 1.3; + Cp 0.25; + Cmub 0.6; + alphaInversion 0.3; + } + \endverbatim SourceFiles LaheyKEpsilon.C @@ -63,6 +88,20 @@ class LaheyKEpsilon > *gasTurbulencePtr_; + // Private Member Functions + + //- Return the turbulence model for the gas phase + const PhaseIncompressibleTurbulenceModel + < + typename BasicTurbulenceModel::transportModel + >& + gasTurbulence() const; + + // Disallow default bitwise copy construct and assignment + LaheyKEpsilon(const LaheyKEpsilon&); + LaheyKEpsilon& operator=(const LaheyKEpsilon&); + + protected: // Protected data @@ -74,7 +113,7 @@ protected: dimensionedScalar Cmub_; - // Protected member functions + // Protected Member Functions virtual void correctNut(); tmp bubbleG() const; @@ -82,6 +121,7 @@ protected: virtual tmp kSource() const; virtual tmp epsilonSource() const; + public: typedef typename BasicTurbulenceModel::alphaField alphaField; @@ -116,15 +156,11 @@ public: // Member Functions - //- Return the turbulence model for the gas phase - const PhaseIncompressibleTurbulenceModel& - gasTurbulence() const; + //- Read model coefficients if they have changed + virtual bool read(); //- Solve the turbulence equations and correct the turbulence viscosity virtual void correct(); - - //- Read RASProperties dictionary - virtual bool read(); }; diff --git a/src/TurbulenceModels/phaseIncompressible/RAS/continuousGasKEpsilon/continuousGasKEpsilon.H b/src/TurbulenceModels/phaseIncompressible/RAS/continuousGasKEpsilon/continuousGasKEpsilon.H index ecb9486339..7cf70368ac 100644 --- a/src/TurbulenceModels/phaseIncompressible/RAS/continuousGasKEpsilon/continuousGasKEpsilon.H +++ b/src/TurbulenceModels/phaseIncompressible/RAS/continuousGasKEpsilon/continuousGasKEpsilon.H @@ -28,6 +28,31 @@ Group grpRASTurbulence Description + k-epsilon model for the gas-phase in a two-phase system + supporting phase-inversion. + + In the limit that the gas-phase fraction approaches zero a contribution from + the other phase is blended into the k and epsilon equations up to the + phase-fraction of alphaInversion at which point phase-inversion is + considered to have occurred and the model reverts to the pure single-phase + form. + + This model is unpublished and is provided as a stable numerical framework + on which a more physical model may be built. + + The default model coefficients correspond to the following: + \verbatim + continuousGasKEpsilonCoeffs + { + Cmu 0.09; + C1 1.44; + C2 1.92; + C3 -0.33; + sigmak 1.0; + sigmaEps 1.3; + alphaInversion 0.7; + } + \endverbatim SourceFiles continuousGasKEpsilon.C @@ -62,6 +87,13 @@ class continuousGasKEpsilon volScalarField nutEff_; + // Private Member Functions + + // Disallow default bitwise copy construct and assignment + continuousGasKEpsilon(const continuousGasKEpsilon&); + continuousGasKEpsilon& operator=(const continuousGasKEpsilon&); + + protected: // Protected data @@ -71,7 +103,7 @@ protected: dimensionedScalar alphaInversion_; - // Protected member functions + // Protected Member Functions virtual void correctNut(); tmp phaseTransferCoeff() const; @@ -113,6 +145,9 @@ public: // Member Functions + //- Re-read model coefficients if they have changed + virtual bool read(); + //- Return the turbulence model for the liquid phase const turbulenceModel& liquidTurbulence() const; @@ -124,9 +159,6 @@ public: //- Return the Reynolds stress tensor virtual tmp R() const; - - //- Read RASProperties dictionary - virtual bool read(); }; diff --git a/src/TurbulenceModels/turbulenceModels/LES/LESModel/LESModel.H b/src/TurbulenceModels/turbulenceModels/LES/LESModel/LESModel.H index 6c6bb36d31..3fc24b426c 100644 --- a/src/TurbulenceModels/turbulenceModels/LES/LESModel/LESModel.H +++ b/src/TurbulenceModels/turbulenceModels/LES/LESModel/LESModel.H @@ -168,6 +168,10 @@ public: // Member Functions + //- Read model coefficients if they have changed + virtual bool read(); + + // Access //- Const access to the coefficients dictionary @@ -216,9 +220,6 @@ public: //- Solve the turbulence equations and correct the turbulence viscosity virtual void correct(); - - //- Read LESProperties dictionary - virtual bool read(); }; diff --git a/src/TurbulenceModels/turbulenceModels/LES/Smagorinsky/Smagorinsky.C b/src/TurbulenceModels/turbulenceModels/LES/Smagorinsky/Smagorinsky.C index 5ed7bbc96f..da0db918a1 100644 --- a/src/TurbulenceModels/turbulenceModels/LES/Smagorinsky/Smagorinsky.C +++ b/src/TurbulenceModels/turbulenceModels/LES/Smagorinsky/Smagorinsky.C @@ -59,21 +59,21 @@ Smagorinsky::Smagorinsky propertiesName ), - ck_ + Ck_ ( dimensioned::lookupOrAddToDict ( - "ck", + "Ck", this->coeffDict_, - 0.02 + 0.094 ) ), - ce_ + Ce_ ( dimensioned::lookupOrAddToDict ( - "ce", + "Ce", this->coeffDict_, 1.048 ) @@ -94,8 +94,8 @@ bool Smagorinsky::read() { if (eddyViscosity >::read()) { - ck_.readIfPresent(this->coeffDict()); - ce_.readIfPresent(this->coeffDict()); + Ck_.readIfPresent(this->coeffDict()); + Ce_.readIfPresent(this->coeffDict()); return true; } @@ -105,6 +105,7 @@ bool Smagorinsky::read() } } + template tmp Smagorinsky::k ( @@ -113,9 +114,9 @@ tmp Smagorinsky::k { volSymmTensorField D(symm(gradU)); - volScalarField a(ce_/this->delta()); + volScalarField a(Ce_/this->delta()); volScalarField b((2.0/3.0)*tr(D)); - volScalarField c(2*ck_*this->delta()*(dev(D) && D)); + volScalarField c(2*Ck_*this->delta()*(dev(D) && D)); return sqr((-b + sqrt(sqr(b) + 4*a*c))/(2*a)); } @@ -136,7 +137,7 @@ tmp Smagorinsky::epsilon() const IOobject::NO_READ, IOobject::NO_WRITE ), - ce_*k()*sqrt(k())/this->delta() + Ce_*k()*sqrt(k())/this->delta() ) ); } @@ -147,7 +148,7 @@ void Smagorinsky::correctNut() { volScalarField k(this->k(fvc::grad(this->U_))); - this->nut_ = ck_*this->delta()*sqrt(k); + this->nut_ = Ck_*this->delta()*sqrt(k); this->nut_.correctBoundaryConditions(); } diff --git a/src/TurbulenceModels/turbulenceModels/LES/Smagorinsky/Smagorinsky.H b/src/TurbulenceModels/turbulenceModels/LES/Smagorinsky/Smagorinsky.H index 8467525c85..c74278dee9 100644 --- a/src/TurbulenceModels/turbulenceModels/LES/Smagorinsky/Smagorinsky.H +++ b/src/TurbulenceModels/turbulenceModels/LES/Smagorinsky/Smagorinsky.H @@ -28,7 +28,7 @@ Group grpLESTurbulence Description - The Smagorinsky Model. + The Smagorinsky SGS model. Algebraic eddy viscosity SGS model founded on the assumption that local equilibrium prevails. @@ -40,8 +40,17 @@ Description where D = symm(grad(U)); - k from D:B + ce*k^3/2/delta = 0 - nuSgs = ck*sqrt(k)*delta + k from D:B + Ce*k^3/2/delta = 0 + nuSgs = Ck*sqrt(k)*delta + \endverbatim + + The default model coefficients correspond to the following: + \verbatim + SmagorinskyCoeffs + { + Ck 0.094; + Ce 1.048; + } \endverbatim SourceFiles @@ -71,26 +80,22 @@ class Smagorinsky : public eddyViscosity > { - -protected: - - // Protected data - - dimensionedScalar ck_; - dimensionedScalar ce_; - - // Private Member Functions - //- Update sub-grid scale fields - void updateSubGridScaleFields(const volTensorField& gradU); - // Disallow default bitwise copy construct and assignment Smagorinsky(const Smagorinsky&); Smagorinsky& operator=(const Smagorinsky&); - // Protected member functions +protected: + + // Protected data + + dimensionedScalar Ck_; + dimensionedScalar Ce_; + + + // Protected Member Functions //- Return SGS kinetic energy // calculated from the given velocity gradient @@ -133,6 +138,9 @@ public: // Member Functions + //- Read model coefficients if they have changed + virtual bool read(); + //- Return SGS kinetic energy virtual tmp k() const { @@ -144,9 +152,6 @@ public: //- Correct Eddy-Viscosity and related properties virtual void correct(); - - //- Read model coefficients if they have changed - virtual bool read(); }; diff --git a/src/TurbulenceModels/turbulenceModels/LES/kEqn/kEqn.C b/src/TurbulenceModels/turbulenceModels/LES/kEqn/kEqn.C index 704c8e4007..dd99d718f9 100644 --- a/src/TurbulenceModels/turbulenceModels/LES/kEqn/kEqn.C +++ b/src/TurbulenceModels/turbulenceModels/LES/kEqn/kEqn.C @@ -72,21 +72,21 @@ kEqn::kEqn this->mesh_ ), - ck_ + Ck_ ( dimensioned::lookupOrAddToDict ( - "ck", + "Ck", this->coeffDict_, 0.094 ) ), - ce_ + Ce_ ( dimensioned::lookupOrAddToDict ( - "ce", + "Ce", this->coeffDict_, 1.048 ) @@ -107,8 +107,8 @@ bool kEqn::read() { if (eddyViscosity >::read()) { - ck_.readIfPresent(this->coeffDict()); - ce_.readIfPresent(this->coeffDict()); + Ck_.readIfPresent(this->coeffDict()); + Ce_.readIfPresent(this->coeffDict()); return true; } @@ -134,7 +134,7 @@ tmp kEqn::epsilon() const IOobject::NO_READ, IOobject::NO_WRITE ), - ce_*k()*sqrt(k())/this->delta() + Ce_*k()*sqrt(k())/this->delta() ) ); } @@ -143,7 +143,7 @@ tmp kEqn::epsilon() const template void kEqn::correctNut() { - this->nut_ = ck_*sqrt(k_)*this->delta(); + this->nut_ = Ck_*sqrt(k_)*this->delta(); this->nut_.correctBoundaryConditions(); } @@ -196,7 +196,7 @@ void kEqn::correct() == alpha*rho*G - fvm::SuSp((2.0/3.0)*alpha*rho*divU, k_) - - fvm::Sp(ce_*alpha*rho*sqrt(k_)/this->delta(), k_) + - fvm::Sp(Ce_*alpha*rho*sqrt(k_)/this->delta(), k_) + kSource() ); diff --git a/src/TurbulenceModels/turbulenceModels/LES/kEqn/kEqn.H b/src/TurbulenceModels/turbulenceModels/LES/kEqn/kEqn.H index ac065c0be7..838655d00a 100644 --- a/src/TurbulenceModels/turbulenceModels/LES/kEqn/kEqn.H +++ b/src/TurbulenceModels/turbulenceModels/LES/kEqn/kEqn.H @@ -35,7 +35,7 @@ Description \verbatim d/dt(rho*k) + div(rho*U*k) - div(rho*nuEff*grad(k)) = - -rho*D:B - ce*rho*k^(3/2)/delta + -rho*D:B - Ce*rho*k^(3/2)/delta and @@ -44,10 +44,19 @@ Description where D = symm(grad(U)); - nuSgs = ck*sqrt(k)*delta + nuSgs = Ck*sqrt(k)*delta nuEff = nuSgs + nu \endverbatim + The default model coefficients correspond to the following: + \verbatim + NicenoKEqnCoeffs + { + Ck 0.094; + Ce 1.048; + } + \endverbatim + SourceFiles kEqn.C @@ -75,6 +84,12 @@ class kEqn : public eddyViscosity > { + // Private Member Functions + + // Disallow default bitwise copy construct and assignment + kEqn(const kEqn&); + kEqn& operator=(const kEqn&); + protected: @@ -82,21 +97,11 @@ protected: volScalarField k_; - dimensionedScalar ck_; - dimensionedScalar ce_; + dimensionedScalar Ck_; + dimensionedScalar Ce_; - // Private Member Functions - - //- Update sub-grid scale fields - void updateSubGridScaleFields(); - - // Disallow default bitwise copy construct and assignment - kEqn(const kEqn&); - kEqn& operator=(const kEqn&); - - - // Protected member functions + // Protected Member Functions virtual void correctNut(); virtual tmp kSource() const; @@ -136,6 +141,9 @@ public: // Member Functions + //- Read model coefficients if they have changed + virtual bool read(); + //- Return SGS kinetic energy virtual tmp k() const { @@ -156,9 +164,6 @@ public: //- Correct Eddy-Viscosity and related properties virtual void correct(); - - //- Read model coefficients if they have changed - virtual bool read(); }; diff --git a/src/TurbulenceModels/turbulenceModels/RAS/RASModel/RASModel.H b/src/TurbulenceModels/turbulenceModels/RAS/RASModel/RASModel.H index 9185de493b..6e1636d0ae 100644 --- a/src/TurbulenceModels/turbulenceModels/RAS/RASModel/RASModel.H +++ b/src/TurbulenceModels/turbulenceModels/RAS/RASModel/RASModel.H @@ -170,6 +170,10 @@ public: // Member Functions + //- Read model coefficients if they have changed + virtual bool read(); + + // Access //- Return the lower allowable limit for k (default: SMALL) @@ -236,9 +240,6 @@ public: //- Solve the turbulence equations and correct the turbulence viscosity virtual void correct(); - - //- Read RASProperties dictionary - virtual bool read(); }; diff --git a/src/TurbulenceModels/turbulenceModels/RAS/kEpsilon/kEpsilon.H b/src/TurbulenceModels/turbulenceModels/RAS/kEpsilon/kEpsilon.H index bc840a26e3..c30004efc3 100644 --- a/src/TurbulenceModels/turbulenceModels/RAS/kEpsilon/kEpsilon.H +++ b/src/TurbulenceModels/turbulenceModels/RAS/kEpsilon/kEpsilon.H @@ -70,6 +70,12 @@ class kEpsilon : public eddyViscosity > { + // Private Member Functions + + // Disallow default bitwise copy construct and assignment + kEpsilon(const kEpsilon&); + kEpsilon& operator=(const kEpsilon&); + protected: @@ -90,7 +96,7 @@ protected: volScalarField epsilon_; - // Protected member functions + // Protected Member Functions virtual void correctNut(); virtual tmp kSource() const; @@ -131,6 +137,9 @@ public: // Member Functions + //- Re-read model coefficients if they have changed + virtual bool read(); + //- Return the effective diffusivity for k tmp DkEff() const { @@ -171,9 +180,6 @@ public: //- Solve the turbulence equations and correct the turbulence viscosity virtual void correct(); - - //- Re-read model coefficients if they have changed - virtual bool read(); }; diff --git a/src/TurbulenceModels/turbulenceModels/eddyViscosity/eddyViscosity.H b/src/TurbulenceModels/turbulenceModels/eddyViscosity/eddyViscosity.H index 19fcaaa193..59b0c61c0f 100644 --- a/src/TurbulenceModels/turbulenceModels/eddyViscosity/eddyViscosity.H +++ b/src/TurbulenceModels/turbulenceModels/eddyViscosity/eddyViscosity.H @@ -62,7 +62,7 @@ protected: volScalarField nut_; - // Protected member functions + // Protected Member Functions virtual void correctNut() = 0; @@ -97,6 +97,9 @@ public: // Member Functions + //- Re-read model coefficients if they have changed + virtual bool read() = 0; + //- Return the turbulence viscosity virtual tmp nut() const { @@ -123,9 +126,6 @@ public: //- Solve the turbulence equations and correct the turbulence viscosity virtual void correct() = 0; - - //- Re-read model coefficients if they have changed - virtual bool read() = 0; }; diff --git a/src/TurbulenceModels/turbulenceModels/turbulenceModel.H b/src/TurbulenceModels/turbulenceModels/turbulenceModel.H index 31385546e4..df10e3b081 100644 --- a/src/TurbulenceModels/turbulenceModels/turbulenceModel.H +++ b/src/TurbulenceModels/turbulenceModels/turbulenceModel.H @@ -114,6 +114,9 @@ public: // Member Functions + //- Read model coefficients if they have changed + virtual bool read() = 0; + const Time& time() const { return runTime_; @@ -205,9 +208,6 @@ public: //- Solve the turbulence equations and correct the turbulence viscosity virtual void correct() = 0; - //- Read LESProperties or RASProperties dictionary - virtual bool read() = 0; - //- Default dummy write function virtual bool writeData(Ostream&) const { From 303b9a0990b8ffaf90eca64305495bc7820b8c59 Mon Sep 17 00:00:00 2001 From: Henry Date: Fri, 2 Aug 2013 16:35:13 +0100 Subject: [PATCH 5/6] tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn: new tutorial to test two-phase LES --- .../LES/bubbleColumn/0/T.air | 45 + .../LES/bubbleColumn/0/T.water | 45 + .../LES/bubbleColumn/0/Theta | 47 + .../LES/bubbleColumn/0/U.air | 41 + .../LES/bubbleColumn/0/U.water | 41 + .../LES/bubbleColumn/0/alpha.air | 1926 +++++++++++++++++ .../LES/bubbleColumn/0/alpha.air.org | 42 + .../LES/bubbleColumn/0/epsilon.air | 49 + .../LES/bubbleColumn/0/epsilon.water | 49 + .../LES/bubbleColumn/0/k.air | 49 + .../LES/bubbleColumn/0/k.water | 49 + .../LES/bubbleColumn/0/nut.air | 47 + .../LES/bubbleColumn/0/nut.water | 47 + .../LES/bubbleColumn/0/p | 40 + .../LES/bubbleColumn/constant/g | 22 + .../LES/bubbleColumn/constant/phaseProperties | 70 + .../constant/polyMesh/blockMeshDict | 61 + .../bubbleColumn/constant/polyMesh/boundary | 47 + .../constant/thermophysicalProperties.air | 49 + .../constant/thermophysicalProperties.water | 54 + .../constant/turbulenceProperties.air | 34 + .../constant/turbulenceProperties.water | 34 + .../LES/bubbleColumn/system/controlDict | 95 + .../LES/bubbleColumn/system/fvSchemes | 69 + .../LES/bubbleColumn/system/fvSolution | 92 + .../LES/bubbleColumn/system/setFieldsDict | 36 + 26 files changed, 3180 insertions(+) create mode 100644 tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/0/T.air create mode 100644 tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/0/T.water create mode 100644 tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/0/Theta create mode 100644 tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/0/U.air create mode 100644 tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/0/U.water create mode 100644 tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/0/alpha.air create mode 100644 tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/0/alpha.air.org create mode 100644 tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/0/epsilon.air create mode 100644 tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/0/epsilon.water create mode 100644 tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/0/k.air create mode 100644 tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/0/k.water create mode 100644 tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/0/nut.air create mode 100644 tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/0/nut.water create mode 100644 tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/0/p create mode 100644 tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/constant/g create mode 100644 tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/constant/phaseProperties create mode 100644 tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/constant/polyMesh/blockMeshDict create mode 100644 tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/constant/polyMesh/boundary create mode 100644 tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/constant/thermophysicalProperties.air create mode 100644 tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/constant/thermophysicalProperties.water create mode 100644 tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/constant/turbulenceProperties.air create mode 100644 tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/constant/turbulenceProperties.water create mode 100644 tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/system/controlDict create mode 100644 tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/system/fvSchemes create mode 100644 tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/system/fvSolution create mode 100644 tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/system/setFieldsDict diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/0/T.air b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/0/T.air new file mode 100644 index 0000000000..9c0fd4206c --- /dev/null +++ b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/0/T.air @@ -0,0 +1,45 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object Tair; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 0 0 1 0 0 0]; + +internalField uniform 300; + +boundaryField +{ + walls + { + type zeroGradient; + } + outlet + { + type inletOutlet; + phi phi.air; + inletValue $internalField; + value $internalField; + } + inlet + { + type fixedValue; + value $internalField; + } + frontAndBackPlanes + { + type empty; + } +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/0/T.water b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/0/T.water new file mode 100644 index 0000000000..1cfd38f926 --- /dev/null +++ b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/0/T.water @@ -0,0 +1,45 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object Twater; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 0 0 1 0 0 0]; + +internalField uniform 350; + +boundaryField +{ + walls + { + type zeroGradient; + } + outlet + { + type inletOutlet; + phi phi.water; + inletValue uniform 300; + value $internalField; + } + inlet + { + type fixedValue; + value $internalField; + } + frontAndBackPlanes + { + type empty; + } +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/0/Theta b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/0/Theta new file mode 100644 index 0000000000..e45304b834 --- /dev/null +++ b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/0/Theta @@ -0,0 +1,47 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object Theta; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [ 0 2 -2 0 0 0 0 ]; + +internalField uniform 0.0; + +boundaryField +{ + inlet + { + type fixedValue; + value uniform 1.0e-7; + } + + outlet + { + type inletOutlet; + inletValue uniform 1.0e-7; + value uniform 1.0e-7; + } + + walls + { + type zeroGradient; + } + + defaultFaces + { + type empty; + } +} + +// ************************************************************************* // diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/0/U.air b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/0/U.air new file mode 100644 index 0000000000..e81fffac06 --- /dev/null +++ b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/0/U.air @@ -0,0 +1,41 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format binary; + class volVectorField; + object U.air; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -1 0 0 0 0]; + +internalField uniform (0 0.1 0); + +boundaryField +{ + inlet + { + type fixedValue; + value $internalField; + } + outlet + { + type pressureInletOutletVelocity; + phi phi.air; + value $internalField; + } + walls + { + type fixedValue; + value uniform (0 0 0); + } +} + +// ************************************************************************* // diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/0/U.water b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/0/U.water new file mode 100644 index 0000000000..aab00fd78b --- /dev/null +++ b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/0/U.water @@ -0,0 +1,41 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format binary; + class volVectorField; + object U.water; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -1 0 0 0 0]; + +internalField uniform (0 0 0); + +boundaryField +{ + inlet + { + type fixedValue; + value $internalField; + } + outlet + { + type pressureInletOutletVelocity; + phi phi.water; + value $internalField; + } + walls + { + type fixedValue; + value uniform (0 0 0); + } +} + +// ************************************************************************* // diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/0/alpha.air b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/0/alpha.air new file mode 100644 index 0000000000..1b1a35684a --- /dev/null +++ b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/0/alpha.air @@ -0,0 +1,1926 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0"; + object alpha.air; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 0 0 0 0 0 0]; + +internalField nonuniform List +1875 +( +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +) +; + +boundaryField +{ + inlet + { + type fixedValue; + value uniform 0.5; + } + outlet + { + type inletOutlet; + phi phi.air; + inletValue uniform 1; + value uniform 1; + } + walls + { + type zeroGradient; + } + defaultFaces + { + type empty; + } +} + + +// ************************************************************************* // diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/0/alpha.air.org b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/0/alpha.air.org new file mode 100644 index 0000000000..4472b0c635 --- /dev/null +++ b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/0/alpha.air.org @@ -0,0 +1,42 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0"; + object alpha.air; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 0 0 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + inlet + { + type fixedValue; + value uniform 0.5; + } + outlet + { + type inletOutlet; + phi phi.air; + inletValue uniform 1; + value uniform 1; + } + walls + { + type zeroGradient; + } +} + +// ************************************************************************* // diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/0/epsilon.air b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/0/epsilon.air new file mode 100644 index 0000000000..ed94c59d53 --- /dev/null +++ b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/0/epsilon.air @@ -0,0 +1,49 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object epsilon; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -3 0 0 0 0]; + +internalField uniform 1.5e-4; + +boundaryField +{ + inlet + { + type fixedValue; + value $internalField; + } + + outlet + { + type inletOutlet; + phi phi.air; + inletValue $internalField; + value $internalField; + } + + walls + { + type epsilonWallFunction; + value $internalField; + } + + defaultFaces + { + type empty; + } +} + +// ************************************************************************* // diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/0/epsilon.water b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/0/epsilon.water new file mode 100644 index 0000000000..1cd27e448b --- /dev/null +++ b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/0/epsilon.water @@ -0,0 +1,49 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object epsilon; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -3 0 0 0 0]; + +internalField uniform 1.5e-4; + +boundaryField +{ + inlet + { + type fixedValue; + value $internalField; + } + + outlet + { + type inletOutlet; + phi phi.water; + inletValue $internalField; + value $internalField; + } + + walls + { + type epsilonWallFunction; + value $internalField; + } + + defaultFaces + { + type empty; + } +} + +// ************************************************************************* // diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/0/k.air b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/0/k.air new file mode 100644 index 0000000000..b4dd763108 --- /dev/null +++ b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/0/k.air @@ -0,0 +1,49 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object k; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -2 0 0 0 0]; + +internalField uniform 3.75e-5; + +boundaryField +{ + inlet + { + type fixedValue; + value $internalField; + } + + outlet + { + type inletOutlet; + phi phi.air; + inletValue $internalField; + value $internalField; + } + + walls + { + type kqRWallFunction; + value $internalField; + } + + defaultFaces + { + type empty; + } +} + +// ************************************************************************* // diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/0/k.water b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/0/k.water new file mode 100644 index 0000000000..3381282f9c --- /dev/null +++ b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/0/k.water @@ -0,0 +1,49 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object k; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -2 0 0 0 0]; + +internalField uniform 3.75e-5; + +boundaryField +{ + inlet + { + type fixedValue; + value $internalField; + } + + outlet + { + type inletOutlet; + phi phi.water; + inletValue $internalField; + value $internalField; + } + + walls + { + type kqRWallFunction; + value $internalField; + } + + defaultFaces + { + type empty; + } +} + +// ************************************************************************* // diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/0/nut.air b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/0/nut.air new file mode 100644 index 0000000000..475091edaa --- /dev/null +++ b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/0/nut.air @@ -0,0 +1,47 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object k; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -1 0 0 0 0]; + +internalField uniform 1e-8; + +boundaryField +{ + inlet + { + type calculated; + value $internalField; + } + + outlet + { + type calculated; + value $internalField; + } + + walls + { + type nutkWallFunction; + value $internalField; + } + + defaultFaces + { + type empty; + } +} + +// ************************************************************************* // diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/0/nut.water b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/0/nut.water new file mode 100644 index 0000000000..475091edaa --- /dev/null +++ b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/0/nut.water @@ -0,0 +1,47 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object k; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -1 0 0 0 0]; + +internalField uniform 1e-8; + +boundaryField +{ + inlet + { + type calculated; + value $internalField; + } + + outlet + { + type calculated; + value $internalField; + } + + walls + { + type nutkWallFunction; + value $internalField; + } + + defaultFaces + { + type empty; + } +} + +// ************************************************************************* // diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/0/p b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/0/p new file mode 100644 index 0000000000..ae2c14b746 --- /dev/null +++ b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/0/p @@ -0,0 +1,40 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object p; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [ 1 -1 -2 0 0 0 0 ]; + +internalField uniform 1e5; + +boundaryField +{ + inlet + { + type fixedFluxPressure; + value $internalField; + } + outlet + { + type fixedValue; + value $internalField; + } + walls + { + type fixedFluxPressure; + value $internalField; + } +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/constant/g b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/constant/g new file mode 100644 index 0000000000..0cc222ca34 --- /dev/null +++ b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/constant/g @@ -0,0 +1,22 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class uniformDimensionedVectorField; + location "constant"; + object g; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -2 0 0 0 0]; +value (0 -9.81 0); + + +// ************************************************************************* // diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/constant/phaseProperties b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/constant/phaseProperties new file mode 100644 index 0000000000..445b31ed27 --- /dev/null +++ b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/constant/phaseProperties @@ -0,0 +1,70 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant"; + object phaseProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +phases (air water); + +air +{ + diameterModel isothermal; + isothermalCoeffs + { + d0 3e-3; + p0 1e5; + } +} + +water +{ + diameterModel constant; + constantCoeffs + { + d 1e-4; + } +} + +drag +{ + air SchillerNaumann; + water SchillerNaumann; +} + +heatTransfer +{ + air RanzMarshall; + water RanzMarshall; +} + +dispersedPhase both; + +residualPhaseFraction 1e-3; +residualSlip 1e-2; + +// Virtual-mass ceofficient +Cvm 0.5; + +// Lift coefficient +Cl 0; + +// Dispersed-phase turbulence coefficient +Ct 1; + +// Minimum allowable pressure +pMin 10000; + + + +// ************************************************************************* // diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/constant/polyMesh/blockMeshDict b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/constant/polyMesh/blockMeshDict new file mode 100644 index 0000000000..d03967afdc --- /dev/null +++ b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/constant/polyMesh/blockMeshDict @@ -0,0 +1,61 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object blockMeshDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +convertToMeters 1; + +vertices +( + (0 0 0) + (0.15 0 0) + (0.15 1 0) + (0 1 0) + (0 0 0.1) + (0.15 0 0.1) + (0.15 1 0.1) + (0 1 0.1) +); + +blocks +( + hex (0 1 2 3 4 5 6 7) (25 75 1) simpleGrading (1 1 1) +); + +edges +( +); + +patches +( + patch inlet + ( + (1 5 4 0) + ) + patch outlet + ( + (3 7 6 2) + ) + wall walls + ( + (0 4 7 3) + (2 6 5 1) + ) +); + +mergePatchPairs +( +); + +// ************************************************************************* // diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/constant/polyMesh/boundary b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/constant/polyMesh/boundary new file mode 100644 index 0000000000..bf47f69643 --- /dev/null +++ b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/constant/polyMesh/boundary @@ -0,0 +1,47 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class polyBoundaryMesh; + location "constant/polyMesh"; + object boundary; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +4 +( + inlet + { + type patch; + nFaces 25; + startFace 3650; + } + outlet + { + type patch; + nFaces 25; + startFace 3675; + } + walls + { + type wall; + nFaces 150; + startFace 3700; + } + defaultFaces + { + type empty; + inGroups 1(empty); + nFaces 3750; + startFace 3850; + } +) + +// ************************************************************************* // diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/constant/thermophysicalProperties.air b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/constant/thermophysicalProperties.air new file mode 100644 index 0000000000..3cac781ab1 --- /dev/null +++ b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/constant/thermophysicalProperties.air @@ -0,0 +1,49 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant"; + object thermophysicalProperties.air; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +thermoType +{ + type heRhoThermo; + mixture pureMixture; + transport const; + thermo hConst; + equationOfState perfectGas; + specie specie; + energy sensibleEnthalpy; +} + +mixture +{ + specie + { + nMoles 1; + molWeight 28.9; + } + thermodynamics + { + Cp 1007; + Hf 0; + } + transport + { + mu 1.84e-05; + Pr 0.7; + } +} + + +// ************************************************************************* // diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/constant/thermophysicalProperties.water b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/constant/thermophysicalProperties.water new file mode 100644 index 0000000000..935e0715ef --- /dev/null +++ b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/constant/thermophysicalProperties.water @@ -0,0 +1,54 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant"; + object thermophysicalProperties.water; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +thermoType +{ + type heRhoThermo; + mixture pureMixture; + transport const; + thermo hConst; + equationOfState perfectFluid; + specie specie; + energy sensibleEnthalpy; +} + +mixture +{ + specie + { + nMoles 1; + molWeight 28.9; + } + equationOfState + { + R 3000; + rho0 1027; + } + thermodynamics + { + Cp 4195; + Hf 0; + } + transport + { + mu 3.645e-4; + Pr 2.289; + } +} + + +// ************************************************************************* // diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/constant/turbulenceProperties.air b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/constant/turbulenceProperties.air new file mode 100644 index 0000000000..9311885865 --- /dev/null +++ b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/constant/turbulenceProperties.air @@ -0,0 +1,34 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant"; + object turbulenceProperties.air; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +simulationType LES; + +LES +{ + LESModel continuousGasKEqn; //Smagorinsky; + + turbulence on; + printCoeffs on; + + delta cubeRootVol; + + cubeRootVolCoeffs + { + } +} + +// ************************************************************************* // diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/constant/turbulenceProperties.water b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/constant/turbulenceProperties.water new file mode 100644 index 0000000000..9ca26ce033 --- /dev/null +++ b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/constant/turbulenceProperties.water @@ -0,0 +1,34 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant"; + object turbulenceProperties.water; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +simulationType LES; + +LES +{ + LESModel NicenoKEqn; //SmagorinskyZhang; + + turbulence on; + printCoeffs on; + + delta cubeRootVol; + + cubeRootVolCoeffs + { + } +} + +// ************************************************************************* // diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/system/controlDict b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/system/controlDict new file mode 100644 index 0000000000..18bd2e06da --- /dev/null +++ b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/system/controlDict @@ -0,0 +1,95 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system"; + object controlDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +application compressibleTwoPhaseEulerFoam; + +startFrom startTime; + +startTime 0; + +stopAt endTime; + +endTime 100; + +deltaT 0.005; + +writeControl runTime; + +writeInterval 1; + +purgeWrite 0; + +writeFormat ascii; + +writePrecision 6; + +writeCompression uncompressed; + +timeFormat general; + +timePrecision 6; + +runTimeModifiable yes; + +adjustTimeStep no; + +maxCo 0.5; + +maxDeltaT 1; + +functions +{ + fieldAverage1 + { + type fieldAverage; + functionObjectLibs ( "libfieldFunctionObjects.so" ); + outputControl outputTime; + fields + ( + U.air + { + mean on; + prime2Mean off; + base time; + } + + U.water + { + mean on; + prime2Mean off; + base time; + } + + alpha.air + { + mean on; + prime2Mean off; + base time; + } + + p + { + mean on; + prime2Mean off; + base time; + } + ); + } +} + + +// ************************************************************************* // diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/system/fvSchemes b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/system/fvSchemes new file mode 100644 index 0000000000..f55c52ee56 --- /dev/null +++ b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/system/fvSchemes @@ -0,0 +1,69 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system"; + object fvSchemes; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +ddtSchemes +{ + default Euler; +} + +gradSchemes +{ + default Gauss linear; +} + +divSchemes +{ + default none; + + div(phi,alpha.air) Gauss vanLeer; + div(phir,alpha.air) Gauss vanLeer; + + "div\(alphaPhi.*,U.*\)" Gauss limitedLinearV 1; + "div\(phi.*,U.*\)" Gauss limitedLinearV 1; + "div\(phi.*,.*rho.*\)" Gauss linear; + + "div\(alphaPhi.*,(h|e).*\)" Gauss limitedLinear 1; + "div\(alphaPhi.*,(K.*|p)\)" Gauss limitedLinear 1; + + "div\(alphaPhi.*,(k|epsilon).*\)" Gauss limitedLinear 1; + + "div\(\(\(alpha.*nuEff.*\)*dev2\(T\(grad\(U.*\)\)\)\)\)" Gauss linear; +} + +laplacianSchemes +{ + default Gauss linear uncorrected; +} + +interpolationSchemes +{ + default linear; +} + +snGradSchemes +{ + default uncorrected; +} + +fluxRequired +{ + default no; + p ; +} + + +// ************************************************************************* // diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/system/fvSolution b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/system/fvSolution new file mode 100644 index 0000000000..31c2347993 --- /dev/null +++ b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/system/fvSolution @@ -0,0 +1,92 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system"; + object fvSolution; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +solvers +{ + alpha.air + { + nAlphaCorr 1; + nAlphaSubCycles 2; + } + + p + { + solver GAMG; + smoother DIC; + nPreSweeps 0; + nPostSweeps 2; + nFinestSweeps 2; + cacheAgglomeration true; + nCellsInCoarsestLevel 10; + agglomerator faceAreaPair; + mergeLevels 1; + tolerance 1e-08; + relTol 0.01; + } + + pFinal + { + $p; + tolerance 1e-08; + relTol 0; + } + + "U.*" + { + solver PBiCG; + preconditioner DILU; + tolerance 1e-7; + relTol 0; + } + + "h.*" + { + solver PBiCG; + preconditioner DILU; + tolerance 1e-7; + relTol 0; + } + + "(k|epsilon|Theta).*" + { + solver PBiCG; + preconditioner DILU; + tolerance 1e-7; + relTol 0; + } +} + +PIMPLE +{ + nOuterCorrectors 1; + nCorrectors 2; + nNonOrthogonalCorrectors 0; +} + +relaxationFactors +{ + fields + { + } + equations + { + ".*" 1; + } +} + + +// ************************************************************************* // diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/system/setFieldsDict b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/system/setFieldsDict new file mode 100644 index 0000000000..93d742ba74 --- /dev/null +++ b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/system/setFieldsDict @@ -0,0 +1,36 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system"; + object setFieldsDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +defaultFieldValues +( + volScalarFieldValue alpha.air 1 +); + +regions +( + boxToCell + { + box (0 0 -0.1) (0.15 0.701 0.1); + fieldValues + ( + volScalarFieldValue alpha.air 0 + ); + } +); + + +// ************************************************************************* // From 82f8a3c5ad1cdc2062c14decf4587560f3cbdd91 Mon Sep 17 00:00:00 2001 From: Henry Date: Fri, 2 Aug 2013 16:36:57 +0100 Subject: [PATCH 6/6] tutorials/multiphase/compressibleTwoPhaseEulerFoam: reorganised --- .../{ras => RAS}/bubbleColumn/0/T.air | 0 .../{ras => RAS}/bubbleColumn/0/T.water | 0 .../{ras => RAS}/bubbleColumn/0/Theta | 0 .../{ras => RAS}/bubbleColumn/0/U.air | 0 .../{ras => RAS}/bubbleColumn/0/U.water | 0 .../{ras => RAS}/bubbleColumn/0/alpha.air | 0 .../{ras => RAS}/bubbleColumn/0/alpha.air.org | 0 .../{ras => RAS}/bubbleColumn/0/epsilon.air | 0 .../{ras => RAS}/bubbleColumn/0/epsilon.water | 0 .../{ras => RAS}/bubbleColumn/0/k.air | 0 .../{ras => RAS}/bubbleColumn/0/k.water | 0 .../{ras => RAS}/bubbleColumn/0/nut.air | 0 .../{ras => RAS}/bubbleColumn/0/nut.water | 0 .../{ras => RAS}/bubbleColumn/0/p | 0 .../{ras => RAS}/bubbleColumn/constant/g | 0 .../{ras => RAS}/bubbleColumn/constant/phaseProperties | 0 .../bubbleColumn/constant/polyMesh/blockMeshDict | 0 .../{ras => RAS}/bubbleColumn/constant/polyMesh/boundary | 0 .../bubbleColumn/constant/thermophysicalProperties.air | 0 .../bubbleColumn/constant/thermophysicalProperties.water | 0 .../bubbleColumn/constant/turbulenceProperties.air | 1 - .../bubbleColumn/constant/turbulenceProperties.water | 6 ------ .../{ras => RAS}/bubbleColumn/system/controlDict | 0 .../{ras => RAS}/bubbleColumn/system/fvSchemes | 0 .../{ras => RAS}/bubbleColumn/system/fvSolution | 0 .../{ras => RAS}/bubbleColumn/system/setFieldsDict | 0 .../{ras => RAS}/fluidisedBed/0/T.air | 0 .../{ras => RAS}/fluidisedBed/0/T.particles | 0 .../{ras => RAS}/fluidisedBed/0/Theta.particles | 0 .../{ras => RAS}/fluidisedBed/0/U.air | 0 .../{ras => RAS}/fluidisedBed/0/U.particles | 0 .../{ras => RAS}/fluidisedBed/0/alpha.air | 0 .../{ras => RAS}/fluidisedBed/0/alpha.air.org | 0 .../{ras => RAS}/fluidisedBed/0/alpha.particles | 0 .../{ras => RAS}/fluidisedBed/0/alpha.particles.org | 0 .../{ras => RAS}/fluidisedBed/0/epsilon.air | 0 .../{ras => RAS}/fluidisedBed/0/k.air | 0 .../{ras => RAS}/fluidisedBed/0/nut.air | 0 .../{ras => RAS}/fluidisedBed/0/nut.particles | 0 .../{ras => RAS}/fluidisedBed/0/p | 0 .../{ras => RAS}/fluidisedBed/constant/g | 0 .../{ras => RAS}/fluidisedBed/constant/phaseProperties | 0 .../fluidisedBed/constant/polyMesh/blockMeshDict | 0 .../{ras => RAS}/fluidisedBed/constant/polyMesh/boundary | 0 .../fluidisedBed/constant/thermophysicalProperties.air | 0 .../constant/thermophysicalProperties.particles | 0 .../fluidisedBed/constant/turbulenceProperties.air | 4 ++-- .../fluidisedBed/constant/turbulenceProperties.particles | 3 ++- .../{ras => RAS}/fluidisedBed/system/controlDict | 0 .../{ras => RAS}/fluidisedBed/system/fvSchemes | 0 .../{ras => RAS}/fluidisedBed/system/fvSolution | 0 .../{ras => RAS}/fluidisedBed/system/setFieldsDict | 0 .../fluidisedBed/constant/turbulenceProperties.particles | 3 ++- 53 files changed, 6 insertions(+), 11 deletions(-) rename tutorials/multiphase/compressibleTwoPhaseEulerFoam/{ras => RAS}/bubbleColumn/0/T.air (100%) rename tutorials/multiphase/compressibleTwoPhaseEulerFoam/{ras => RAS}/bubbleColumn/0/T.water (100%) rename tutorials/multiphase/compressibleTwoPhaseEulerFoam/{ras => RAS}/bubbleColumn/0/Theta (100%) rename tutorials/multiphase/compressibleTwoPhaseEulerFoam/{ras => RAS}/bubbleColumn/0/U.air (100%) rename tutorials/multiphase/compressibleTwoPhaseEulerFoam/{ras => RAS}/bubbleColumn/0/U.water (100%) rename tutorials/multiphase/compressibleTwoPhaseEulerFoam/{ras => RAS}/bubbleColumn/0/alpha.air (100%) rename tutorials/multiphase/compressibleTwoPhaseEulerFoam/{ras => RAS}/bubbleColumn/0/alpha.air.org (100%) rename tutorials/multiphase/compressibleTwoPhaseEulerFoam/{ras => RAS}/bubbleColumn/0/epsilon.air (100%) rename tutorials/multiphase/compressibleTwoPhaseEulerFoam/{ras => RAS}/bubbleColumn/0/epsilon.water (100%) rename tutorials/multiphase/compressibleTwoPhaseEulerFoam/{ras => RAS}/bubbleColumn/0/k.air (100%) rename tutorials/multiphase/compressibleTwoPhaseEulerFoam/{ras => RAS}/bubbleColumn/0/k.water (100%) rename tutorials/multiphase/compressibleTwoPhaseEulerFoam/{ras => RAS}/bubbleColumn/0/nut.air (100%) rename tutorials/multiphase/compressibleTwoPhaseEulerFoam/{ras => RAS}/bubbleColumn/0/nut.water (100%) rename tutorials/multiphase/compressibleTwoPhaseEulerFoam/{ras => RAS}/bubbleColumn/0/p (100%) rename tutorials/multiphase/compressibleTwoPhaseEulerFoam/{ras => RAS}/bubbleColumn/constant/g (100%) rename tutorials/multiphase/compressibleTwoPhaseEulerFoam/{ras => RAS}/bubbleColumn/constant/phaseProperties (100%) rename tutorials/multiphase/compressibleTwoPhaseEulerFoam/{ras => RAS}/bubbleColumn/constant/polyMesh/blockMeshDict (100%) rename tutorials/multiphase/compressibleTwoPhaseEulerFoam/{ras => RAS}/bubbleColumn/constant/polyMesh/boundary (100%) rename tutorials/multiphase/compressibleTwoPhaseEulerFoam/{ras => RAS}/bubbleColumn/constant/thermophysicalProperties.air (100%) rename tutorials/multiphase/compressibleTwoPhaseEulerFoam/{ras => RAS}/bubbleColumn/constant/thermophysicalProperties.water (100%) rename tutorials/multiphase/compressibleTwoPhaseEulerFoam/{ras => RAS}/bubbleColumn/constant/turbulenceProperties.air (99%) rename tutorials/multiphase/compressibleTwoPhaseEulerFoam/{ras => RAS}/bubbleColumn/constant/turbulenceProperties.water (94%) rename tutorials/multiphase/compressibleTwoPhaseEulerFoam/{ras => RAS}/bubbleColumn/system/controlDict (100%) rename tutorials/multiphase/compressibleTwoPhaseEulerFoam/{ras => RAS}/bubbleColumn/system/fvSchemes (100%) rename tutorials/multiphase/compressibleTwoPhaseEulerFoam/{ras => RAS}/bubbleColumn/system/fvSolution (100%) rename tutorials/multiphase/compressibleTwoPhaseEulerFoam/{ras => RAS}/bubbleColumn/system/setFieldsDict (100%) rename tutorials/multiphase/compressibleTwoPhaseEulerFoam/{ras => RAS}/fluidisedBed/0/T.air (100%) rename tutorials/multiphase/compressibleTwoPhaseEulerFoam/{ras => RAS}/fluidisedBed/0/T.particles (100%) rename tutorials/multiphase/compressibleTwoPhaseEulerFoam/{ras => RAS}/fluidisedBed/0/Theta.particles (100%) rename tutorials/multiphase/compressibleTwoPhaseEulerFoam/{ras => RAS}/fluidisedBed/0/U.air (100%) rename tutorials/multiphase/compressibleTwoPhaseEulerFoam/{ras => RAS}/fluidisedBed/0/U.particles (100%) rename tutorials/multiphase/compressibleTwoPhaseEulerFoam/{ras => RAS}/fluidisedBed/0/alpha.air (100%) rename tutorials/multiphase/compressibleTwoPhaseEulerFoam/{ras => RAS}/fluidisedBed/0/alpha.air.org (100%) rename tutorials/multiphase/compressibleTwoPhaseEulerFoam/{ras => RAS}/fluidisedBed/0/alpha.particles (100%) rename tutorials/multiphase/compressibleTwoPhaseEulerFoam/{ras => RAS}/fluidisedBed/0/alpha.particles.org (100%) rename tutorials/multiphase/compressibleTwoPhaseEulerFoam/{ras => RAS}/fluidisedBed/0/epsilon.air (100%) rename tutorials/multiphase/compressibleTwoPhaseEulerFoam/{ras => RAS}/fluidisedBed/0/k.air (100%) rename tutorials/multiphase/compressibleTwoPhaseEulerFoam/{ras => RAS}/fluidisedBed/0/nut.air (100%) rename tutorials/multiphase/compressibleTwoPhaseEulerFoam/{ras => RAS}/fluidisedBed/0/nut.particles (100%) rename tutorials/multiphase/compressibleTwoPhaseEulerFoam/{ras => RAS}/fluidisedBed/0/p (100%) rename tutorials/multiphase/compressibleTwoPhaseEulerFoam/{ras => RAS}/fluidisedBed/constant/g (100%) rename tutorials/multiphase/compressibleTwoPhaseEulerFoam/{ras => RAS}/fluidisedBed/constant/phaseProperties (100%) rename tutorials/multiphase/compressibleTwoPhaseEulerFoam/{ras => RAS}/fluidisedBed/constant/polyMesh/blockMeshDict (100%) rename tutorials/multiphase/compressibleTwoPhaseEulerFoam/{ras => RAS}/fluidisedBed/constant/polyMesh/boundary (100%) rename tutorials/multiphase/compressibleTwoPhaseEulerFoam/{ras => RAS}/fluidisedBed/constant/thermophysicalProperties.air (100%) rename tutorials/multiphase/compressibleTwoPhaseEulerFoam/{ras => RAS}/fluidisedBed/constant/thermophysicalProperties.particles (100%) rename tutorials/multiphase/compressibleTwoPhaseEulerFoam/{ras => RAS}/fluidisedBed/constant/turbulenceProperties.air (95%) rename tutorials/multiphase/compressibleTwoPhaseEulerFoam/{ras => RAS}/fluidisedBed/constant/turbulenceProperties.particles (97%) rename tutorials/multiphase/compressibleTwoPhaseEulerFoam/{ras => RAS}/fluidisedBed/system/controlDict (100%) rename tutorials/multiphase/compressibleTwoPhaseEulerFoam/{ras => RAS}/fluidisedBed/system/fvSchemes (100%) rename tutorials/multiphase/compressibleTwoPhaseEulerFoam/{ras => RAS}/fluidisedBed/system/fvSolution (100%) rename tutorials/multiphase/compressibleTwoPhaseEulerFoam/{ras => RAS}/fluidisedBed/system/setFieldsDict (100%) diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/bubbleColumn/0/T.air b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/0/T.air similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/bubbleColumn/0/T.air rename to tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/0/T.air diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/bubbleColumn/0/T.water b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/0/T.water similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/bubbleColumn/0/T.water rename to tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/0/T.water diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/bubbleColumn/0/Theta b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/0/Theta similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/bubbleColumn/0/Theta rename to tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/0/Theta diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/bubbleColumn/0/U.air b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/0/U.air similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/bubbleColumn/0/U.air rename to tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/0/U.air diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/bubbleColumn/0/U.water b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/0/U.water similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/bubbleColumn/0/U.water rename to tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/0/U.water diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/bubbleColumn/0/alpha.air b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/0/alpha.air similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/bubbleColumn/0/alpha.air rename to tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/0/alpha.air diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/bubbleColumn/0/alpha.air.org b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/0/alpha.air.org similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/bubbleColumn/0/alpha.air.org rename to tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/0/alpha.air.org diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/bubbleColumn/0/epsilon.air b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/0/epsilon.air similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/bubbleColumn/0/epsilon.air rename to tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/0/epsilon.air diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/bubbleColumn/0/epsilon.water b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/0/epsilon.water similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/bubbleColumn/0/epsilon.water rename to tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/0/epsilon.water diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/bubbleColumn/0/k.air b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/0/k.air similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/bubbleColumn/0/k.air rename to tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/0/k.air diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/bubbleColumn/0/k.water b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/0/k.water similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/bubbleColumn/0/k.water rename to tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/0/k.water diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/bubbleColumn/0/nut.air b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/0/nut.air similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/bubbleColumn/0/nut.air rename to tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/0/nut.air diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/bubbleColumn/0/nut.water b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/0/nut.water similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/bubbleColumn/0/nut.water rename to tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/0/nut.water diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/bubbleColumn/0/p b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/0/p similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/bubbleColumn/0/p rename to tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/0/p diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/bubbleColumn/constant/g b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/constant/g similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/bubbleColumn/constant/g rename to tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/constant/g diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/bubbleColumn/constant/phaseProperties b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/constant/phaseProperties similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/bubbleColumn/constant/phaseProperties rename to tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/constant/phaseProperties diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/bubbleColumn/constant/polyMesh/blockMeshDict b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/constant/polyMesh/blockMeshDict similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/bubbleColumn/constant/polyMesh/blockMeshDict rename to tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/constant/polyMesh/blockMeshDict diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/bubbleColumn/constant/polyMesh/boundary b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/constant/polyMesh/boundary similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/bubbleColumn/constant/polyMesh/boundary rename to tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/constant/polyMesh/boundary diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/bubbleColumn/constant/thermophysicalProperties.air b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/constant/thermophysicalProperties.air similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/bubbleColumn/constant/thermophysicalProperties.air rename to tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/constant/thermophysicalProperties.air diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/bubbleColumn/constant/thermophysicalProperties.water b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/constant/thermophysicalProperties.water similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/bubbleColumn/constant/thermophysicalProperties.water rename to tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/constant/thermophysicalProperties.water diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/bubbleColumn/constant/turbulenceProperties.air b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/constant/turbulenceProperties.air similarity index 99% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/bubbleColumn/constant/turbulenceProperties.air rename to tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/constant/turbulenceProperties.air index 6deff0f592..40de4981f5 100644 --- a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/bubbleColumn/constant/turbulenceProperties.air +++ b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/constant/turbulenceProperties.air @@ -22,7 +22,6 @@ RAS RASModel continuousGasKEpsilon; turbulence on; - printCoeffs on; } diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/bubbleColumn/constant/turbulenceProperties.water b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/constant/turbulenceProperties.water similarity index 94% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/bubbleColumn/constant/turbulenceProperties.water rename to tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/constant/turbulenceProperties.water index 357bfd4bfa..2c0b129e11 100644 --- a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/bubbleColumn/constant/turbulenceProperties.water +++ b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/constant/turbulenceProperties.water @@ -22,13 +22,7 @@ RAS RASModel LaheyKEpsilon; turbulence on; - printCoeffs on; - - LaheyKEpsilonCoeffs - { - //Cmub 0; - } } // ************************************************************************* // diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/bubbleColumn/system/controlDict b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/system/controlDict similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/bubbleColumn/system/controlDict rename to tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/system/controlDict diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/bubbleColumn/system/fvSchemes b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/system/fvSchemes similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/bubbleColumn/system/fvSchemes rename to tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/system/fvSchemes diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/bubbleColumn/system/fvSolution b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/system/fvSolution similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/bubbleColumn/system/fvSolution rename to tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/system/fvSolution diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/bubbleColumn/system/setFieldsDict b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/system/setFieldsDict similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/bubbleColumn/system/setFieldsDict rename to tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/system/setFieldsDict diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/fluidisedBed/0/T.air b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/0/T.air similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/fluidisedBed/0/T.air rename to tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/0/T.air diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/fluidisedBed/0/T.particles b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/0/T.particles similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/fluidisedBed/0/T.particles rename to tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/0/T.particles diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/fluidisedBed/0/Theta.particles b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/0/Theta.particles similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/fluidisedBed/0/Theta.particles rename to tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/0/Theta.particles diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/fluidisedBed/0/U.air b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/0/U.air similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/fluidisedBed/0/U.air rename to tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/0/U.air diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/fluidisedBed/0/U.particles b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/0/U.particles similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/fluidisedBed/0/U.particles rename to tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/0/U.particles diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/fluidisedBed/0/alpha.air b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/0/alpha.air similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/fluidisedBed/0/alpha.air rename to tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/0/alpha.air diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/fluidisedBed/0/alpha.air.org b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/0/alpha.air.org similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/fluidisedBed/0/alpha.air.org rename to tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/0/alpha.air.org diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/fluidisedBed/0/alpha.particles b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/0/alpha.particles similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/fluidisedBed/0/alpha.particles rename to tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/0/alpha.particles diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/fluidisedBed/0/alpha.particles.org b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/0/alpha.particles.org similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/fluidisedBed/0/alpha.particles.org rename to tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/0/alpha.particles.org diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/fluidisedBed/0/epsilon.air b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/0/epsilon.air similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/fluidisedBed/0/epsilon.air rename to tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/0/epsilon.air diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/fluidisedBed/0/k.air b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/0/k.air similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/fluidisedBed/0/k.air rename to tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/0/k.air diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/fluidisedBed/0/nut.air b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/0/nut.air similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/fluidisedBed/0/nut.air rename to tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/0/nut.air diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/fluidisedBed/0/nut.particles b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/0/nut.particles similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/fluidisedBed/0/nut.particles rename to tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/0/nut.particles diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/fluidisedBed/0/p b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/0/p similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/fluidisedBed/0/p rename to tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/0/p diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/fluidisedBed/constant/g b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/constant/g similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/fluidisedBed/constant/g rename to tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/constant/g diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/fluidisedBed/constant/phaseProperties b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/constant/phaseProperties similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/fluidisedBed/constant/phaseProperties rename to tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/constant/phaseProperties diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/fluidisedBed/constant/polyMesh/blockMeshDict b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/constant/polyMesh/blockMeshDict similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/fluidisedBed/constant/polyMesh/blockMeshDict rename to tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/constant/polyMesh/blockMeshDict diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/fluidisedBed/constant/polyMesh/boundary b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/constant/polyMesh/boundary similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/fluidisedBed/constant/polyMesh/boundary rename to tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/constant/polyMesh/boundary diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/fluidisedBed/constant/thermophysicalProperties.air b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/constant/thermophysicalProperties.air similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/fluidisedBed/constant/thermophysicalProperties.air rename to tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/constant/thermophysicalProperties.air diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/fluidisedBed/constant/thermophysicalProperties.particles b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/constant/thermophysicalProperties.particles similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/fluidisedBed/constant/thermophysicalProperties.particles rename to tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/constant/thermophysicalProperties.particles diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/fluidisedBed/constant/turbulenceProperties.air b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/constant/turbulenceProperties.air similarity index 95% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/fluidisedBed/constant/turbulenceProperties.air rename to tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/constant/turbulenceProperties.air index 7e7e58c9f6..d702f90d3b 100644 --- a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/fluidisedBed/constant/turbulenceProperties.air +++ b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/constant/turbulenceProperties.air @@ -21,7 +21,8 @@ RAS { RASModel kEpsilon; - turbulence on; + turbulence on; + printCoeffs on; } LES @@ -29,7 +30,6 @@ LES LESModel Smagorinsky; turbulence on; - printCoeffs on; delta cubeRootVol; diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/fluidisedBed/constant/turbulenceProperties.particles b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/constant/turbulenceProperties.particles similarity index 97% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/fluidisedBed/constant/turbulenceProperties.particles rename to tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/constant/turbulenceProperties.particles index d41e105827..6a6c9f15c0 100644 --- a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/fluidisedBed/constant/turbulenceProperties.particles +++ b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/constant/turbulenceProperties.particles @@ -21,7 +21,8 @@ RAS { RASModel kineticTheory; - turbulence on; + turbulence on; + printCoeffs on; kineticTheoryCoeffs { diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/fluidisedBed/system/controlDict b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/system/controlDict similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/fluidisedBed/system/controlDict rename to tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/system/controlDict diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/fluidisedBed/system/fvSchemes b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/system/fvSchemes similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/fluidisedBed/system/fvSchemes rename to tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/system/fvSchemes diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/fluidisedBed/system/fvSolution b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/system/fvSolution similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/fluidisedBed/system/fvSolution rename to tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/system/fvSolution diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/fluidisedBed/system/setFieldsDict b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/system/setFieldsDict similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/ras/fluidisedBed/system/setFieldsDict rename to tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/system/setFieldsDict diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/fluidisedBed/constant/turbulenceProperties.particles b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/fluidisedBed/constant/turbulenceProperties.particles index a4b2180031..39b5549d32 100644 --- a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/fluidisedBed/constant/turbulenceProperties.particles +++ b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/fluidisedBed/constant/turbulenceProperties.particles @@ -21,7 +21,8 @@ RAS { RASModel phasePressure; - turbulence on; + turbulence on; + printCoeffs on; kineticTheoryCoeffs {