solvers::compressibleVoF: Updated to supersede cavitatingFoam

compressibleVoF supports cavitation fvModels which provide a more physical and
controllable approach to cavitation modelling than the simple homogeneous
equilibrium approximation used in cavitatingFoam.

The tutorials/multiphase/cavitatingFoam/RAS/throttle case has been converted to
tutorials/modules/compressibleVoF/throttle which demonstrates how to update
cases from cavitatingFoam to compressibleVoF.

A cavitatingFoam script is provided to redirect users to update their cases to
compressibleVoF.
This commit is contained in:
Henry Weller
2023-04-18 09:42:32 +01:00
parent 8a6be43be6
commit 776ecc9a40
88 changed files with 288 additions and 3065 deletions

View File

@ -1,57 +0,0 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2011-2022 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
OpenFOAM is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
Global
CourantNo
Description
Calculates and outputs the mean and maximum Courant Numbers.
\*---------------------------------------------------------------------------*/
scalar CoNum = 0;
scalar acousticCoNum = 0;
{
const scalarField sumPhi(fvc::surfaceSum(mag(phi))().primitiveField());
CoNum = 0.5*gMax(sumPhi/mesh.V().field())*runTime.deltaTValue();
const scalar meanCoNum =
0.5*(gSum(sumPhi)/gSum(mesh.V().field()))*runTime.deltaTValue();
acousticCoNum = 0.5*gMax
(
fvc::surfaceSum
(
fvc::interpolate(scalar(1)/sqrt(mixture.psi()))*mesh.magSf()
)().primitiveField()/mesh.V().field()
)*runTime.deltaTValue();
Info<< "phi Courant Number mean: " << meanCoNum
<< " max: " << CoNum
<< " acoustic max: " << acousticCoNum
<< endl;
}
// ************************************************************************* //

View File

@ -1,4 +0,0 @@
cavitatingTwoPhaseMixture/cavitatingTwoPhaseMixture.C
cavitatingFoam.C
EXE = $(FOAM_APPBIN)/cavitatingFoam

View File

@ -1,21 +0,0 @@
EXE_INC = \
-IcavitatingTwoPhaseMixture \
-I$(LIB_SRC)/physicalProperties/lnInclude \
-I$(LIB_SRC)/twoPhaseModels/VoF \
-I$(LIB_SRC)/twoPhaseModels/twoPhaseMixture/lnInclude \
-I$(LIB_SRC)/thermophysicalModels/barotropicCompressibilityModel/lnInclude \
-I$(LIB_SRC)/MomentumTransportModels/momentumTransportModels/lnInclude \
-I$(LIB_SRC)/MomentumTransportModels/incompressible/lnInclude \
-I$(LIB_SRC)/finiteVolume/lnInclude \
-I$(LIB_SRC)/meshTools/lnInclude
EXE_LIBS = \
-lphysicalProperties \
-ltwoPhaseMixture \
-lbarotropicCompressibilityModel \
-lmomentumTransportModels \
-lincompressibleMomentumTransportModels \
-lfiniteVolume \
-lmeshTools \
-lfvModels \
-lfvConstraints

View File

@ -1,15 +0,0 @@
fvVectorMatrix UEqn
(
fvm::ddt(rho, U)
+ fvm::div(rhoPhi, U)
+ turbulence->divDevTau(rho, U)
);
UEqn.relax();
if (pimple.momentumPredictor())
{
solve(UEqn == -fvc::grad(p));
}
Info<< "max(U) " << max(mag(U)).value() << endl;

View File

@ -1,142 +0,0 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2011-2023 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
OpenFOAM is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
Application
cavitatingFoam
Description
Transient cavitation code based on the homogeneous equilibrium model
from which the compressibility of the liquid/vapour "mixture" is obtained,
with optional mesh motion and mesh topology changes.
Turbulence modelling is generic, i.e. laminar, RAS or LES may be selected.
\*---------------------------------------------------------------------------*/
#include "argList.H"
#include "timeSelector.H"
#include "cavitatingTwoPhaseMixture.H"
#include "incompressibleMomentumTransportModels.H"
#include "fvCorrectPhi.H"
#include "pimpleControl.H"
#include "fixedValueFvPatchFields.H"
#include "zeroGradientFvPatchFields.H"
#include "constrainHbyA.H"
#include "fvcDdt.H"
#include "fvcSnGrad.H"
#include "fvcFlux.H"
#include "fvcMeshPhi.H"
#include "fvmDdt.H"
#include "fvmDiv.H"
#include "fvmLaplacian.H"
using namespace Foam;
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
int main(int argc, char *argv[])
{
#include "postProcess.H"
#include "setRootCaseLists.H"
#include "createTime.H"
#include "createMesh.H"
#include "createControls.H"
#include "createFields.H"
#include "createUfIfPresent.H"
#include "createPcorrTypes.H"
#include "CourantNo.H"
#include "setInitialDeltaT.H"
turbulence->validate();
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Info<< "\nStarting time loop\n" << endl;
while (pimple.run(runTime))
{
#include "readControls.H"
{
#include "CourantNo.H"
#include "setDeltaT.H"
// Update the mesh for topology change, mesh to mesh mapping
mesh.update();
runTime++;
Info<< "Time = " << runTime.userTimeName() << nl << endl;
// Move the mesh
mesh.move();
if (mesh.changing() && correctPhi)
{
#include "correctPhi.H"
}
}
// --- Pressure-velocity PIMPLE corrector loop
while (pimple.loop())
{
#include "rhoEqn.H"
mixture.correct();
if (pimple.predictTransport())
{
turbulence->predict();
}
#include "UEqn.H"
// --- Pressure corrector loop
while (pimple.correct())
{
#include "pEqn.H"
}
if (pimple.correctTransport())
{
turbulence->correct();
}
}
runTime.write();
Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
<< " ClockTime = " << runTime.elapsedClockTime() << " s"
<< nl << endl;
}
Info<< "End\n" << endl;
return 0;
}
// ************************************************************************* //

View File

@ -1,247 +0,0 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2022 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
OpenFOAM is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
\*---------------------------------------------------------------------------*/
#include "cavitatingTwoPhaseMixture.H"
#include "barotropicCompressibilityModel.H"
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
namespace Foam
{
defineTypeNameAndDebug(cavitatingTwoPhaseMixture, 0);
}
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
Foam::cavitatingTwoPhaseMixture::cavitatingTwoPhaseMixture
(
const fvMesh& mesh
)
:
twoPhaseMixture(mesh),
alphav_(alpha1()),
alphal_(alpha2()),
nuModelv_(viscosityModel::New(mesh, phase1Name())),
nuModell_(viscosityModel::New(mesh, phase2Name())),
rhov_("rho", dimDensity, nuModelv_()),
rhol_("rho", dimDensity, nuModell_()),
nu_
(
IOobject
(
"nu",
mesh.time().name(),
mesh
),
mesh,
dimensionedScalar(dimViscosity, 0),
calculatedFvPatchScalarField::typeName
),
thermodynamicProperties_
(
IOobject
(
"thermodynamicProperties",
mesh.time().constant(),
mesh,
IOobject::MUST_READ_IF_MODIFIED,
IOobject::NO_WRITE
)
),
psil_
(
"psil",
dimCompressibility,
thermodynamicProperties_
),
rholSat_
(
"rholSat",
dimDensity,
thermodynamicProperties_
),
psiv_
(
"psiv",
dimCompressibility,
thermodynamicProperties_
),
pSat_
(
"pSat",
dimPressure,
thermodynamicProperties_
),
rhovSat_("rhovSat", psiv_*pSat_),
rhol0_("rhol0", rholSat_ - pSat_*psil_),
rhoMin_
(
"rhoMin",
dimDensity,
thermodynamicProperties_
),
p_
(
IOobject
(
"p",
mesh.time().name(),
mesh,
IOobject::MUST_READ,
IOobject::AUTO_WRITE
),
mesh
),
psiModel_
(
barotropicCompressibilityModel::New
(
thermodynamicProperties_,
alphav_
)
),
psi_(psiModel_->psi()),
rho_
(
IOobject
(
"rho",
mesh.time().name(),
mesh,
IOobject::MUST_READ,
IOobject::AUTO_WRITE
),
mesh
)
{
alphav_.oldTime();
rho_ = max
(
psi_*p_
+ alphal_*rhol0_
+ ((alphav_*psiv_ + alphal_*psil_) - psi_)*pSat_,
rhoMin_
);
correct();
}
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
Foam::cavitatingTwoPhaseMixture::~cavitatingTwoPhaseMixture()
{}
// * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * //
bool Foam::cavitatingTwoPhaseMixture::read()
{
if (twoPhaseMixture::read())
{
nuModelv_->lookup("rho") >> rhov_;
nuModell_->lookup("rho") >> rhol_;
return true;
}
else
{
return false;
}
}
void Foam::cavitatingTwoPhaseMixture::correctPressure()
{
p_ =
(
rho_
- alphal_*rhol0_
- ((alphav_*psiv_ + alphal_*psil_) - psi_)*pSat_
)/psi_;
p_.correctBoundaryConditions();
}
void Foam::cavitatingTwoPhaseMixture::correct()
{
rho_ == max(rho_, rhoMin_);
alphav_ =
max
(
min
(
(rho_ - rholSat_)/(rhovSat_ - rholSat_),
scalar(1)
),
scalar(0)
);
alphal_ = 1.0 - alphav_;
Info<< "max-min alphav: " << max(alphav_).value()
<< " " << min(alphav_).value() << endl;
psiModel_->correct();
nuModelv_->correct();
nuModell_->correct();
const volScalarField limitedAlphav
(
"limitedAlphav",
min(max(alphav_, scalar(0)), scalar(1))
);
// Mixture kinematic viscosity calculated from mixture dynamic viscosity
nu_ =
(
limitedAlphav*rhov_*nuModelv_->nu()
+ (scalar(1) - limitedAlphav)*rhol_*nuModell_->nu()
)/(limitedAlphav*rhov_ + (scalar(1) - limitedAlphav)*rhol_);
}
// ************************************************************************* //

View File

@ -1,188 +0,0 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2022 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
OpenFOAM is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
Class
Foam::cavitatingTwoPhaseMixture
Description
Class to represent a mixture of two constant density phases
SourceFiles
cavitatingTwoPhaseMixture.C
\*---------------------------------------------------------------------------*/
#ifndef cavitatingTwoPhaseMixture_H
#define cavitatingTwoPhaseMixture_H
#include "twoPhaseMixture.H"
#include "viscosityModel.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
class barotropicCompressibilityModel;
/*---------------------------------------------------------------------------*\
Class cavitatingTwoPhaseMixture Declaration
\*---------------------------------------------------------------------------*/
class cavitatingTwoPhaseMixture
:
public twoPhaseMixture,
public viscosity
{
// Private Data
//- Vapour phase fraction reference (alpha1 from twoPhaseMixture)
volScalarField& alphav_;
//- liquid phase fraction reference (alpha2 from twoPhaseMixture)
volScalarField& alphal_;
//- Vapour viscosity model
autoPtr<viscosityModel> nuModelv_;
//- Liquid viscosity model
autoPtr<viscosityModel> nuModell_;
//- Constant vapour density
dimensionedScalar rhov_;
//- Constant liquid density
dimensionedScalar rhol_;
//- Mixture viscosity
volScalarField nu_;
//- Thermophysical properties dictionary
IOdictionary thermodynamicProperties_;
//- Liquid compressibility
dimensionedScalar psil_;
//- Saturation liquid density
dimensionedScalar rholSat_;
//- Vapour compressibility
dimensionedScalar psiv_;
//- Saturation pressure
dimensionedScalar pSat_;
//- Saturation vapour density
dimensionedScalar rhovSat_;
//- rholSat_ - pSat_*psil_
dimensionedScalar rhol0_;
//- Minimum density for numerical stability
dimensionedScalar rhoMin_;
//- Static pressure field
volScalarField p_;
autoPtr<barotropicCompressibilityModel> psiModel_;
//- Reference to the mixture compressibility field
const volScalarField& psi_;
//- Mixture density field
volScalarField rho_;
public:
TypeName("cavitatingTwoPhaseMixture");
// Constructors
//- Construct from a mesh
cavitatingTwoPhaseMixture(const fvMesh& mesh);
//- Destructor
virtual ~cavitatingTwoPhaseMixture();
// Member Functions
//- Return the static pressure field
volScalarField& p()
{
return p_;
}
//- Return the mixture density field
virtual const volScalarField& rho() const
{
return rho_;
}
//- Return the mixture density field
volScalarField& rho()
{
return rho_;
}
//- Return the mixture compressibility
const volScalarField& psi() const
{
return psi_;
}
//- Return the kinematic laminar viscosity
virtual tmp<volScalarField> nu() const
{
return nu_;
}
//- Return the laminar viscosity for patch
virtual tmp<scalarField> nu(const label patchi) const
{
return nu_.boundaryField()[patchi];
}
//- Correct the pressure from mixture density
void correctPressure();
//- Correct the mixture density and laminar viscosity
virtual void correct();
//- Read base phaseProperties dictionary
virtual bool read();
};
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace Foam
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#endif
// ************************************************************************* //

View File

@ -1,44 +0,0 @@
// Calculate absolute flux from the mapped surface velocity
phi = mesh.Sf() & Uf();
correctUphiBCs(U, phi, true);
{
volScalarField pcorr
(
IOobject
(
"pcorr",
runTime.name(),
mesh,
IOobject::NO_READ,
IOobject::NO_WRITE
),
mesh,
dimensionedScalar(p.dimensions(), 0),
pcorrTypes
);
surfaceScalarField rhof(fvc::interpolate(rho, "div(phi,rho)"));
dimensionedScalar rAUf("rAUf", dimTime, 1.0);
mesh.schemes().setFluxRequired(pcorr.name());
while (pimple.correctNonOrthogonal())
{
fvScalarMatrix pcorrEqn
(
fvm::laplacian(rAUf, pcorr) == fvc::ddt(rho) + fvc::div(phi*rhof)
);
pcorrEqn.solve();
if (pimple.finalNonOrthogonalIter())
{
phi -= pcorrEqn.flux()/rhof;
}
}
}
// Make the flux relative to the mesh motion
fvc::makeRelative(phi, U);

View File

@ -1,6 +0,0 @@
#include "createDyMControls.H"
scalar maxAcousticCo
(
runTime.controlDict().lookup<scalar>("maxAcousticCo")
);

View File

@ -1,47 +0,0 @@
Info<< "Reading phaseProperties\n" << endl;
cavitatingTwoPhaseMixture mixture(mesh);
volScalarField& p(mixture.p());
volScalarField& rho(mixture.rho());
Info<< "Reading field U\n" << endl;
volVectorField U
(
IOobject
(
"U",
runTime.name(),
mesh,
IOobject::MUST_READ,
IOobject::AUTO_WRITE
),
mesh
);
#include "createPhi.H"
mesh.schemes().setFluxRequired(p.name());
// Mass flux (corrected by rhoEqn.H)
surfaceScalarField rhoPhi
(
IOobject
(
"rhoPhi",
runTime.name(),
mesh,
IOobject::NO_READ,
IOobject::NO_WRITE
),
fvc::interpolate(rho)*phi
);
mesh.schemes().setFluxRequired(p.name());
mesh.schemes().setFluxRequired(rho.name());
// Create incompressible turbulence model
autoPtr<incompressible::momentumTransportModel> turbulence
(
incompressible::momentumTransportModel::New(U, phi, mixture)
);

View File

@ -1,13 +0,0 @@
wordList pcorrTypes
(
p.boundaryField().size(),
zeroGradientFvPatchScalarField::typeName
);
for (label i=0; i<p.boundaryField().size(); i++)
{
if (p.boundaryField()[i].fixesValue())
{
pcorrTypes[i] = fixedValueFvPatchScalarField::typeName;
}
}

View File

@ -1,54 +0,0 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2017-2023 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
OpenFOAM is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
Global
createUfIfPresent
Description
Creates and initialises the velocity field Uf if required.
\*---------------------------------------------------------------------------*/
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
autoPtr<surfaceVectorField> Uf;
if (mesh.dynamic())
{
Info<< "Constructing face velocity Uf\n" << endl;
Uf = new surfaceVectorField
(
IOobject
(
"Uf",
runTime.name(),
mesh,
IOobject::READ_IF_PRESENT,
IOobject::AUTO_WRITE
),
fvc::interpolate(U)
);
}
// ************************************************************************* //

View File

@ -1,72 +0,0 @@
{
if (pimple.nCorr() == 1)
{
mixture.correctPressure();
}
surfaceScalarField rhof("rhof", fvc::interpolate(rho));
volScalarField rAU(1.0/UEqn.A());
surfaceScalarField rhorAUf("rhorAUf", fvc::interpolate(rho*rAU));
volVectorField HbyA(constrainHbyA(rAU*UEqn.H(), U, p));
phi = fvc::flux(HbyA) + rhorAUf*fvc::ddtCorr(U, phi, Uf);
fvc::makeRelative(phi, U);
surfaceScalarField phiGradp(rhorAUf*mesh.magSf()*fvc::snGrad(p));
phi -= phiGradp/rhof;
const volScalarField rho0(rho - mixture.psi()*p);
while (pimple.correctNonOrthogonal())
{
fvScalarMatrix pEqn
(
fvc::ddt(rho)
+ mixture.psi()*correction(fvm::ddt(p))
+ fvc::div(phi, rho)
+ fvc::div(phiGradp)
- fvm::laplacian(rhorAUf, p)
);
pEqn.solve();
if (pimple.finalNonOrthogonalIter())
{
phi += (phiGradp + pEqn.flux())/rhof;
}
}
Info<< "Predicted p max-min : " << max(p).value()
<< " " << min(p).value() << endl;
rho == rho0 + mixture.psi()*p;
mixture.correct();
mixture.correctPressure();
Info<< "Phase-change corrected p max-min : " << max(p).value()
<< " " << min(p).value() << endl;
// Correct velocity
U = HbyA - rAU*fvc::grad(p);
// Remove the swirl component of velocity for "wedge" cases
if (pimple.dict().found("removeSwirl"))
{
label swirlCmpt(pimple.dict().lookup<label>("removeSwirl"));
Info<< "Removing swirl component-" << swirlCmpt << " of U" << endl;
U.field().replace(swirlCmpt, 0.0);
}
U.correctBoundaryConditions();
Info<< "max(U) " << max(mag(U)).value() << endl;
// Correct Uf if the mesh is moving
fvc::correctUf(Uf, U, fvc::absolute(phi, U));
}

View File

@ -1,3 +0,0 @@
#include "readDyMControls.H"
maxAcousticCo = runTime.controlDict().lookup<scalar>("maxAcousticCo");

View File

@ -1,14 +0,0 @@
{
fvScalarMatrix rhoEqn
(
fvm::ddt(rho)
+ fvm::div(phi, rho)
);
rhoEqn.solve();
rhoPhi = rhoEqn.flux();
Info<< "max-min rho: " << max(rho).value()
<< " " << min(rho).value() << endl;
}

View File

@ -1,55 +0,0 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2011-2022 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
OpenFOAM is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
Global
setDeltaT
Description
Reset the timestep to maintain a constant maximum courant Number.
Reduction of time-step is immediate but increase is damped to avoid
unstable oscillations.
\*---------------------------------------------------------------------------*/
if (adjustTimeStep)
{
scalar deltaT = 1.2*runTime.deltaTValue();
if (CoNum > small)
{
deltaT = min(deltaT, maxCo/CoNum*runTime.deltaTValue());
}
if (acousticCoNum > small)
{
deltaT = min(deltaT, maxAcousticCo/acousticCoNum*runTime.deltaTValue());
}
deltaT = min(deltaT, maxDeltaT);
runTime.setDeltaT(deltaT);
Info<< "deltaT = " << runTime.deltaTValue() << endl;
}
// ************************************************************************* //

View File

@ -1,51 +0,0 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
OpenFOAM is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
Global
setInitialDeltaT
Description
Set the initial timestep corresponding to the timestep adjustment
algorithm in setDeltaT
\*---------------------------------------------------------------------------*/
if (adjustTimeStep)
{
if (CoNum > small)
{
scalar maxDeltaTFact =
min(maxCo/(CoNum + small), maxAcousticCo/(acousticCoNum + small));
runTime.setDeltaT
(
min
(
maxDeltaTFact*runTime.deltaTValue(),
maxDeltaT
)
);
}
}
// ************************************************************************* //

49
bin/cavitatingFoam Executable file
View File

@ -0,0 +1,49 @@
#!/bin/sh
#------------------------------------------------------------------------------
# ========= |
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
# \\ / O peration | Website: https://openfoam.org
# \\ / A nd | Copyright (C) 2023 OpenFOAM Foundation
# \\/ M anipulation |
#------------------------------------------------------------------------------
# License
# This file is part of OpenFOAM.
#
# OpenFOAM is free software: you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# for more details.
#
# You should have received a copy of the GNU General Public License
# along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
#
# Script
# cavitatingFoam
#
# Description
# Script to inform the user that cavitatingFoam has been superseded
# and replaced by the more general compressibleVoF solver module executed by
# the foamRun application.
#
#------------------------------------------------------------------------------
cat <<EOF
cavitatingFoam has been superseded and replaced by the more general
compressibleVoF solver module executed by the foamRun application:
foamRun -solver compressibleVoF
The cavitatingFoam cases must be upgraded before running the compressibleVoF
solver module, for example the tutorials/modules/compressibleVoF/throttle case
has been converted from the tutorials/multiphase/cavitatingFoam/RAS/throttle
case.
EOF
#------------------------------------------------------------------------------

View File

@ -282,31 +282,6 @@ _boxTurb_ ()
}
complete -o filenames -o nospace -F _boxTurb_ boxTurb
_cavitatingFoam_ ()
{
local cur="${COMP_WORDS[COMP_CWORD]}"
local prev="${COMP_WORDS[COMP_CWORD-1]}"
local line=${COMP_LINE}
local used=$(echo "$line" | grep -oE "\-[a-zA-Z]+ ")
opts="-case -doc -fileHandler -help -hostRoots -libs -listFunctionObjects -listMomentumTransportModels -listScalarBCs -listSwitches -listVectorBCs -noFunctionObjects -parallel -postProcess -roots -srcDoc"
for o in $used ; do opts="${opts/$o/}" ; done
extra=""
[ "$COMP_CWORD" = 1 ] || \
case "$prev" in
-case)
opts="" ; extra="-d" ;;
-fileHandler)
opts="uncollated collated masterUncollated" ; extra="" ;;
-hostRoots|-libs|-roots)
opts="" ; extra="" ;;
*) ;;
esac
COMPREPLY=( $(compgen -W "${opts}" $extra -- ${cur}) )
}
complete -o filenames -o nospace -F _cavitatingFoam_ cavitatingFoam
_cfx4ToFoam_ ()
{
local cur="${COMP_WORDS[COMP_CWORD]}"

View File

@ -9,26 +9,30 @@ FoamFile
{
format ascii;
class volScalarField;
object rho;
location "0";
object T;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [1 -3 0 0 0];
dimensions [0 0 0 1 0 0 0];
internalField uniform 845;
internalField uniform 300;
boundaryField
{
#includeEtc "caseDicts/setConstraintTypes"
inlet
{
type fixedValue;
value uniform 845;
value $internalField;
}
outlet
{
type fixedValue;
value uniform 835;
type inletOutlet;
inletValue $internalField;
value $internalField;
}
walls
@ -42,4 +46,5 @@ boundaryField
}
}
// ************************************************************************* //

View File

@ -21,7 +21,7 @@ boundaryField
{
inlet
{
type zeroGradient;
type pressureInletOutletVelocity;
value uniform (0 0 0);
}

View File

@ -21,20 +21,20 @@ boundaryField
{
inlet
{
type calculated;
value uniform 0;
type fixedValue;
value $internalField;
}
outlet
{
type calculated;
value uniform 0;
type inletOutlet;
inletValue $internalField;
value $internalField;
}
walls
{
type calculated;
value uniform 0;
type zeroGradient;
}
frontBack

View File

@ -26,15 +26,18 @@ boundaryField
intensity 0.05;
value uniform 0.05;
}
outlet
{
type zeroGradient;
}
walls
{
type kqRWallFunction;
value uniform 10;
}
frontBack
{
type empty;

View File

@ -25,16 +25,19 @@ boundaryField
type calculated;
value uniform 0;
}
outlet
{
type calculated;
value uniform 0;
}
walls
{
type nutkWallFunction;
value uniform 0;
}
frontBack
{
type empty;

View File

@ -27,15 +27,18 @@ boundaryField
k k;
value uniform 77200;
}
outlet
{
type zeroGradient;
}
walls
{
type omegaWallFunction;
value uniform 77200;
}
frontBack
{
type empty;

View File

@ -9,32 +9,32 @@ FoamFile
{
format ascii;
class volScalarField;
object alpha.vapour;
object p;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 0 0];
dimensions [1 -1 -2 0 0];
internalField uniform 0;
internalField uniform 300e5;
boundaryField
{
inlet
{
type calculated;
value uniform 0;
value $internalField;
}
outlet
{
type calculated;
value uniform 0;
value $internalField;
}
walls
{
type calculated;
value uniform 0;
value $internalField;
}
frontBack

View File

@ -9,7 +9,7 @@ FoamFile
{
format ascii;
class volScalarField;
object p;
object p_rgh;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -21,19 +21,19 @@ boundaryField
{
inlet
{
type totalPressure;
type prghTotalPressure;
p0 uniform 300e5;
}
outlet
{
type totalPressure;
type prghTotalPressure;
p0 uniform 100e5;
}
walls
{
type zeroGradient;
type fixedFluxPressure;
}
frontBack

View File

@ -7,6 +7,6 @@ cd ${0%/*} || exit 1 # Run from this directory
rm -rf constant/polyMesh/sets
rm -rf 0/polyMesh
rm -f system/topoSetDict
cleanCase
cleanVoFCase
#------------------------------------------------------------------------------

View File

@ -0,0 +1,63 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class dictionary;
location "constant";
object fvModels;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
VoFCavitation
{
type compressible::VoFCavitation;
libs ("libcompressibleVoFCavitation.so");
model SchnerrSauer;
KunzCoeffs
{
pSat 2300; // Saturation pressure
liquid water;
UInf 20.0;
tInf 0.005; // L = 0.1 m
Cc 1000;
Cv 1000;
}
MerkleCoeffs
{
pSat 2300; // Saturation pressure
liquid water;
UInf 20.0;
tInf 0.005; // L = 0.1 m
Cc 80;
Cv 1e-03;
}
SchnerrSauerCoeffs
{
pSat 2300; // Saturation pressure
liquid water;
n 1.6e+13;
dNuc 2.0e-06;
Cc 1;
Cv 1;
}
}
//************************************************************************* //

View File

@ -8,17 +8,14 @@
FoamFile
{
format ascii;
class dictionary;
class uniformDimensionedVectorField;
location "constant";
object phaseProperties;
object g;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
phases (vapour water);
mul 0.0065;
muv 5.953e-06;
dimensions [0 1 -2 0 0 0 0];
value (0 0 0);
// ************************************************************************* //

View File

@ -16,9 +16,11 @@ FoamFile
phases (vapour water);
mul 0.0065;
muv 5.953e-06;
sigma
{
type constant;
sigma 0.07;
}
// ************************************************************************* //

View File

@ -0,0 +1,50 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class dictionary;
location "constant";
object physicalProperties.vapour;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType
{
type heRhoThermo;
mixture pureMixture;
transport sutherland;
thermo janaf;
energy sensibleInternalEnergy;
equationOfState perfectGas;
specie specie;
}
mixture
{
specie
{
molWeight 18.0153;
}
thermodynamics
{
Tlow 200;
Thigh 5000;
Tcommon 1000;
highCpCoeffs ( 2.67215 0.00305629 -8.73026e-07 1.201e-10 -6.39162e-15 -29899.2 6.86282 );
lowCpCoeffs ( 3.38684 0.00347498 -6.3547e-06 6.96858e-09 -2.50659e-12 -30208.1 2.59023 );
}
transport
{
As 1.67212e-06;
Ts 170.672;
}
}
// ************************************************************************* //

View File

@ -14,11 +14,38 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
viscosityModel Newtonian;
thermoType
{
type heRhoThermo;
mixture pureMixture;
transport const;
thermo eConst;
equationOfState rPolynomial;
specie specie;
energy sensibleInternalEnergy;
}
nu 7.831e-06;
rho 830;
mixture
{
specie
{
molWeight 18.0;
}
equationOfState
{
C (0.001278 -2.1055e-06 3.9689e-09 4.3772e-13 -2.0225e-16);
}
thermodynamics
{
Cv 4195;
Hf 0;
}
transport
{
mu 3.645e-4;
Pr 2.289;
}
}
// ************************************************************************* //

View File

@ -14,7 +14,9 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
application cavitatingFoam;
application foamRun;
solver compressibleVoF;
startFrom startTime;
@ -22,17 +24,17 @@ startTime 0;
stopAt endTime;
endTime 0.002;
endTime 0.001;
deltaT 1e-08;
writeControl adjustableRunTime;
writeInterval 0.0001;
writeInterval 1e-5;
purgeWrite 0;
writeFormat ascii;
writeFormat binary;
writePrecision 6;
@ -46,7 +48,7 @@ adjustTimeStep on;
maxCo 0.5;
maxAcousticCo 50;
maxAlphaCo 0.5;
// ************************************************************************* //

View File

@ -9,14 +9,16 @@ FoamFile
{
format ascii;
class dictionary;
location "system";
object mapFieldsDict;
object fvConstraints;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
patchMap ();
cuttingPatches ();
boundp
{
type bound;
field p;
min 100;
}
// ************************************************************************* //

View File

@ -26,11 +26,23 @@ interpolationSchemes
divSchemes
{
default none;
div(phi,rho) Gauss limitedLinear 1;
div(rhoPhi,U) Gauss limitedLinearV 1;
div(phi,omega) Gauss limitedLinear 1;
div(phi,k) Gauss limitedLinear 1;
default none;
div(phi,alpha) Gauss interfaceCompression vanLeer 1;
div(rhoPhi,U) Gauss limitedLinearV 1;
div(rhoPhi,K) Gauss upwind;
div(phi,p) Gauss upwind;
div(alphaRhoPhi,e) Gauss upwind;
div(alphaRhoPhi,T) Gauss upwind;
div(phid1,p_rgh) Gauss upwind;
div(phid2,p_rgh) Gauss upwind;
div(rhoPhi,k) Gauss upwind;
div(rhoPhi,omega) Gauss upwind;
div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
}

View File

@ -16,55 +16,42 @@ FoamFile
solvers
{
rho
"alpha.vapour.*"
{
solver smoothSolver;
smoother symGaussSeidel;
tolerance 1e-08;
relTol 0.1;
nAlphaCorr 3;
nAlphaSubCycles 1;
}
rhoFinal
{
$rho;
tolerance 1e-08;
relTol 0;
}
p
p_rgh
{
solver GAMG;
tolerance 0;
relTol 0.1;
smoother GaussSeidel;
smoother DIC;
tolerance 1e-8;
relTol 0.01;
}
pFinal
p_rghFinal
{
$p;
tolerance 1e-08;
$p_rgh;
relTol 0;
}
"(U|k|omega)"
"(U|T|k|omega).*"
{
solver smoothSolver;
smoother symGaussSeidel;
tolerance 1e-08;
relTol 0.1;
}
solver PBiCGStab;
preconditioner DILU;
"(U|k|omega)Final"
{
$U;
tolerance 1e-08;
tolerance 1e-8;
relTol 0;
}
}
PIMPLE
{
nCorrectors 3;
nOuterCorrectors 1;
nCorrectors 3;
nNonOrthogonalCorrectors 0;
}

View File

@ -1,14 +0,0 @@
#!/bin/sh
cd ${0%/*} || exit 1 # Run from this directory
(
cd throttle || exit
./Allrun $*
)
(
cd throttle3D || exit
./Allrun $*
)
#------------------------------------------------------------------------------

View File

@ -1,45 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class volVectorField;
object U;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 1 -1 0 0];
internalField uniform (0 0 0);
boundaryField
{
inlet
{
type zeroGradient;
value uniform (0 0 0);
}
outlet
{
type zeroGradient;
value uniform (0 0 0);
}
walls
{
type noSlip;
}
frontBack
{
type empty;
}
}
// ************************************************************************* //

View File

@ -1,45 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class volScalarField;
location "0";
object k;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 2 -2 0 0 0 0];
internalField uniform 10;
boundaryField
{
inlet
{
type turbulentIntensityKineticEnergyInlet;
intensity 0.05;
value uniform 0.05;
}
outlet
{
type zeroGradient;
}
walls
{
type kqRWallFunction;
value uniform 10;
}
frontBack
{
type empty;
}
}
// ************************************************************************* //

View File

@ -1,45 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class volScalarField;
location "0";
object nut;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 2 -1 0 0 0 0];
internalField uniform 0;
boundaryField
{
inlet
{
type calculated;
value uniform 0;
}
outlet
{
type calculated;
value uniform 0;
}
walls
{
type nutUSpaldingWallFunction;
value uniform 0;
}
frontBack
{
type empty;
}
}
// ************************************************************************* //

View File

@ -1,45 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class volScalarField;
object p;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [1 -1 -2 0 0];
internalField uniform 300e5;
boundaryField
{
inlet
{
type totalPressure;
p0 uniform 300e5;
}
outlet
{
type fixedValue;
value uniform 100e5;
}
walls
{
type zeroGradient;
}
frontBack
{
type empty;
}
}
// ************************************************************************* //

View File

@ -1,32 +0,0 @@
#!/bin/sh
cd ${0%/*} || exit 1 # Run from this directory
# Source tutorial run functions
. $WM_PROJECT_DIR/bin/tools/RunFunctions
# Set application name
application=$(getApplication)
refineMeshByCellSet()
{
while [ $# -ge 1 ]
do
if [ ! -e log.refineMesh.$1 ]
then
echo "Creating cell set for primary zone - $1"
cp system/topoSetDict.$1 system/topoSetDict
topoSet > log.topoSet.$1 2>&1
echo "Refining primary zone - $1"
refineMesh -dict refineMeshDict -overwrite \
> log.refineMesh.$1 2>&1
fi
shift
done
}
runApplication blockMesh
refineMeshByCellSet 1 2 3
runApplication $application
#------------------------------------------------------------------------------

View File

@ -1,92 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class dictionary;
location "constant";
object momentumTransport;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
simulationType LES;
LES
{
model kEqn;
turbulence on;
printCoeffs on;
delta smooth;
cubeRootVolCoeffs
{
deltaCoeff 1;
}
PrandtlCoeffs
{
delta cubeRootVol;
cubeRootVolCoeffs
{
deltaCoeff 1;
}
smoothCoeffs
{
delta cubeRootVol;
cubeRootVolCoeffs
{
deltaCoeff 1;
}
maxDeltaRatio 1.1;
}
Cdelta 0.158;
}
vanDriestCoeffs
{
delta cubeRootVol;
cubeRootVolCoeffs
{
deltaCoeff 1;
}
smoothCoeffs
{
delta cubeRootVol;
cubeRootVolCoeffs
{
deltaCoeff 1;
}
maxDeltaRatio 1.1;
}
Aplus 26;
Cdelta 0.158;
}
smoothCoeffs
{
delta cubeRootVol;
cubeRootVolCoeffs
{
deltaCoeff 1;
}
maxDeltaRatio 1.1;
}
}
// ************************************************************************* //

View File

@ -1,24 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class dictionary;
location "constant";
object phaseProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
phases (vapour water);
mul 0.0065;
muv 5.953e-06;
// ************************************************************************* //

View File

@ -1,24 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class dictionary;
location "constant";
object physicalProperties.vapour;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
viscosityModel Newtonian;
nu 4.252e-05;
rho 0.14;
// ************************************************************************* //

View File

@ -1,24 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class dictionary;
location "constant";
object physicalProperties.water;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
viscosityModel Newtonian;
nu 7.831e-06;
rho 830;
// ************************************************************************* //

View File

@ -1,30 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class dictionary;
location "constant";
object thermodynamicProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
barotropicCompressibilityModel linear;
psiv [0 -2 2 0 0] 2.5e-06;
rholSat [1 -3 0 0 0] 830;
psil [0 -2 2 0 0] 5e-07;
pSat [1 -1 -2 0 0] 4500;
rhoMin [1 -3 0 0 0] 0.001;
// ************************************************************************* //

View File

@ -1,57 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class dictionary;
location "system";
object controlDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
application cavitatingFoam;
startFrom latestTime;
startTime 0;
stopAt endTime;
endTime 0.0002;
deltaT 1e-08;
writeControl adjustableRunTime;
writeInterval 2e-05;
purgeWrite 0;
writeFormat binary;
writePrecision 6;
writeCompression off;
timeFormat general;
runTimeModifiable yes;
adjustTimeStep on;
maxCo 0.5;
maxAcousticCo 50;
functions
{
#includeFunc fieldAverage(U, p, alpha.vapour)
}
// ************************************************************************* //

View File

@ -1,51 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class dictionary;
location "system";
object fvSchemes;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
ddtSchemes
{
default Euler;
}
interpolationSchemes
{
default linear;
}
divSchemes
{
default none;
div(phi,rho) Gauss vanLeer;
div(rhoPhi,U) Gauss LUST grad(U);
div(phi,k) Gauss LUST grad(k);
div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
}
gradSchemes
{
default Gauss linear;
}
laplacianSchemes
{
default Gauss linear corrected;
}
snGradSchemes
{
default corrected;
}
// ************************************************************************* //

View File

@ -1,83 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class dictionary;
location "system";
object fvSolution;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
solvers
{
rho
{
solver smoothSolver;
smoother symGaussSeidel;
tolerance 1e-08;
relTol 0.1;
}
rhoFinal
{
solver smoothSolver;
smoother symGaussSeidel;
tolerance 1e-08;
relTol 0;
}
p
{
solver GAMG;
tolerance 0;
relTol 0.1;
smoother GaussSeidel;
}
pFinal
{
$p;
tolerance 1e-08;
relTol 0;
}
"(U|k|omega)"
{
solver smoothSolver;
smoother symGaussSeidel;
tolerance 1e-08;
relTol 0.1;
}
"(U|k|omega)Final"
{
solver smoothSolver;
smoother symGaussSeidel;
tolerance 1e-08;
relTol 0;
}
}
PIMPLE
{
nCorrectors 3;
nNonOrthogonalCorrectors 0;
}
relaxationFactors
{
equations
{
".*" 1;
}
}
// ************************************************************************* //

View File

@ -1,45 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class volVectorField;
object U;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 1 -1 0 0];
internalField uniform (0 0 0);
boundaryField
{
inlet
{
type zeroGradient;
value uniform (0 0 0);
}
outlet
{
type zeroGradient;
value uniform (0 0 0);
}
walls
{
type noSlip;
}
frontBack
{
type noSlip;
}
}
// ************************************************************************* //

View File

@ -1,47 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class volScalarField;
object alpha.vapour;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 0 0];
internalField uniform 0;
boundaryField
{
inlet
{
type calculated;
value uniform 0;
}
outlet
{
type calculated;
value uniform 0;
}
walls
{
type calculated;
value uniform 0;
}
frontBack
{
type calculated;
value uniform 0;
}
}
// ************************************************************************* //

View File

@ -1,46 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class volScalarField;
object k;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 2 -2 0 0];
internalField uniform 10;
boundaryField
{
inlet
{
type turbulentIntensityKineticEnergyInlet;
intensity 0.05;
value uniform 0.05;
}
outlet
{
type zeroGradient;
}
walls
{
type kqRWallFunction;
value uniform 10;
}
frontBack
{
type zeroGradient;
}
}
// ************************************************************************* //

View File

@ -1,46 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class volScalarField;
location "0";
object nut;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 2 -1 0 0 0 0];
internalField uniform 0;
boundaryField
{
inlet
{
type calculated;
value uniform 0;
}
outlet
{
type calculated;
value uniform 0;
}
walls
{
type nutUSpaldingWallFunction;
value uniform 0;
}
frontBack
{
type nutUSpaldingWallFunction;
value uniform 0;
}
}
// ************************************************************************* //

View File

@ -1,45 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class volScalarField;
object p;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [1 -1 -2 0 0];
internalField uniform 300e5;
boundaryField
{
inlet
{
type totalPressure;
p0 uniform 300e5;
}
outlet
{
type fixedValue;
value uniform 100e5;
}
walls
{
type zeroGradient;
}
frontBack
{
type zeroGradient;
}
}
// ************************************************************************* //

View File

@ -1,45 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class volScalarField;
object rho;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [1 -3 0 0 0];
internalField uniform 845;
boundaryField
{
inlet
{
type fixedValue;
value uniform 845;
}
outlet
{
type fixedValue;
value uniform 835;
}
walls
{
type zeroGradient;
}
frontBack
{
type zeroGradient;
}
}
// ************************************************************************* //

View File

@ -1,10 +0,0 @@
#!/bin/sh
cd ${0%/*} || exit 1 # Run from this directory
# Source tutorial clean functions
. $WM_PROJECT_DIR/bin/tools/CleanFunctions
rm -f system/topoSetDict
cleanCase
#------------------------------------------------------------------------------

View File

@ -1,40 +0,0 @@
#!/bin/sh
cd ${0%/*} || exit 1 # Run from this directory
# Source tutorial run functions
. $WM_PROJECT_DIR/bin/tools/RunFunctions
# Set application name
application=$(getApplication)
refineMeshByCellSet()
{
while [ $# -ge 1 ]
do
if [ ! -e log.refineMesh.$1 ]
then
echo "Creating cell set for primary zone - $1"
cp system/topoSetDict.$1 system/topoSetDict
topoSet > log.topoSet.$1 2>&1
echo "Refining primary zone - $1"
refineMesh -dict refineMeshDict -overwrite \
> log.refineMesh.$1 2>&1
fi
shift
done
}
runApplication blockMesh
refineMeshByCellSet 1 2 3
if [ -n "$(foamListTimes -case ../throttle)" ]
then
runApplication mapFields ../throttle -sourceTime latestTime
fi
runApplication decomposePar
runParallel $application
runApplication reconstructPar
#------------------------------------------------------------------------------

View File

@ -1,92 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class dictionary;
location "constant";
object momentumTransport;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
simulationType LES;
LES
{
model kEqn;
turbulence on;
printCoeffs on;
delta smooth;
cubeRootVolCoeffs
{
deltaCoeff 1;
}
PrandtlCoeffs
{
delta cubeRootVol;
cubeRootVolCoeffs
{
deltaCoeff 1;
}
smoothCoeffs
{
delta cubeRootVol;
cubeRootVolCoeffs
{
deltaCoeff 1;
}
maxDeltaRatio 1.1;
}
Cdelta 0.158;
}
vanDriestCoeffs
{
delta cubeRootVol;
cubeRootVolCoeffs
{
deltaCoeff 1;
}
smoothCoeffs
{
delta cubeRootVol;
cubeRootVolCoeffs
{
deltaCoeff 1;
}
maxDeltaRatio 1.1;
}
Aplus 26;
Cdelta 0.158;
}
smoothCoeffs
{
delta cubeRootVol;
cubeRootVolCoeffs
{
deltaCoeff 1;
}
maxDeltaRatio 1.1;
}
}
// ************************************************************************* //

View File

@ -1,24 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class dictionary;
location "constant";
object physicalProperties.vapour;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
viscosityModel Newtonian;
nu 4.252e-05;
rho 0.14;
// ************************************************************************* //

View File

@ -1,30 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class dictionary;
location "constant";
object thermodynamicProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
barotropicCompressibilityModel linear;
psiv [0 -2 2 0 0] 2.5e-06;
rholSat [1 -3 0 0 0] 830;
psil [0 -2 2 0 0] 5e-07;
pSat [1 -1 -2 0 0] 4500;
rhoMin [1 -3 0 0 0] 0.001;
// ************************************************************************* //

View File

@ -1,132 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class dictionary;
object blockMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
convertToMeters 1.0e-3;
vertices
(
( 0.00 -2.50 -0.15)
( 5.00 -2.50 -0.15)
( 5.00 -0.15 -0.15)
( 7.00 -0.15 -0.15)
( 7.00 -2.50 -0.15)
(17.00 -2.50 -0.15)
(17.00 -0.15 -0.15)
(17.00 0.15 -0.15)
(17.00 2.50 -0.15)
( 7.00 2.50 -0.15)
( 7.00 0.15 -0.15)
( 5.00 0.15 -0.15)
( 5.00 2.50 -0.15)
( 0.00 2.50 -0.15)
( 0.00 0.15 -0.15)
( 0.00 -0.15 -0.15)
( 0.00 -2.50 0.15)
( 5.00 -2.50 0.15)
( 5.00 -0.15 0.15)
( 7.00 -0.15 0.15)
( 7.00 -2.50 0.15)
(17.00 -2.50 0.15)
(17.00 -0.15 0.15)
(17.00 0.15 0.15)
(17.00 2.50 0.15)
( 7.00 2.50 0.15)
( 7.00 0.15 0.15)
( 5.00 0.15 0.15)
( 5.00 2.50 0.15)
( 0.00 2.50 0.15)
( 0.00 0.15 0.15)
( 0.00 -0.15 0.15)
);
blocks
(
hex ( 0 1 2 15 16 17 18 31) ( 50 24 10) simpleGrading (1 1 1)
hex (15 2 11 14 31 18 27 30) ( 50 3 10) simpleGrading (1 1 1)
hex (14 11 12 13 30 27 28 29) ( 50 24 10) simpleGrading (1 1 1)
hex ( 2 3 10 11 18 19 26 27) ( 20 3 10) simpleGrading (1 1 1)
hex ( 4 5 6 3 20 21 22 19) (100 24 10) simpleGrading (1 1 1)
hex ( 3 6 7 10 19 22 23 26) (100 3 10) simpleGrading (1 1 1)
hex (10 7 8 9 26 23 24 25) (100 24 10) simpleGrading (1 1 1)
);
boundary
(
inlet
{
type patch;
faces
(
(15 0 16 31)
(14 15 31 30)
(13 14 30 29)
);
}
outlet
{
type patch;
faces
(
( 5 6 22 21)
( 6 7 23 22)
( 7 8 24 23)
);
}
walls
{
type wall;
faces
(
( 1 0 16 17)
( 2 1 17 18)
( 3 2 18 19)
( 4 3 19 20)
( 5 4 20 21)
( 9 8 24 25)
(10 9 25 26)
(11 10 26 27)
(12 11 27 28)
(13 12 28 29)
);
}
frontBack
{
type wall;
faces
(
( 0 15 2 1)
(15 14 11 2)
(14 13 12 11)
( 2 11 10 3)
( 4 3 6 5)
( 3 10 7 6)
(10 9 8 7)
(16 17 18 31)
(31 18 27 30)
(30 27 28 29)
(18 19 26 27)
(20 21 22 19)
(19 22 23 26)
(26 23 24 25)
);
}
);
// ************************************************************************* //

View File

@ -1,57 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class dictionary;
location "system";
object controlDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
application cavitatingFoam;
startFrom latestTime;
startTime 0;
stopAt endTime;
endTime 0.0001;
deltaT 1e-08;
writeControl adjustableRunTime;
writeInterval 5e-06;
purgeWrite 0;
writeFormat binary;
writePrecision 6;
writeCompression off;
timeFormat general;
runTimeModifiable yes;
adjustTimeStep on;
maxCo 0.5;
maxAcousticCo 50;
functions
{
#includeFunc fieldAverage(U, p, alpha.vapour)
}
// ************************************************************************* //

View File

@ -1,42 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class dictionary;
location "system";
object decomposeParDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
numberOfSubdomains 4;
method simple;
simpleCoeffs
{
n (2 2 1);
}
hierarchicalCoeffs
{
n (1 1 1);
order xyz;
}
manualCoeffs
{
dataFile "";
}
distributed no;
roots ( );
// ************************************************************************* //

View File

@ -1,52 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class dictionary;
location "system";
object fvSchemes;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
ddtSchemes
{
default Euler;
}
interpolationSchemes
{
default linear;
}
divSchemes
{
default none;
div(phi,rho) Gauss vanLeer;
div(rhoPhi,U) Gauss LUST grad(U);
div(phi,k) Gauss LUST grad(k);
div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
}
gradSchemes
{
default Gauss linear;
}
laplacianSchemes
{
default Gauss linear corrected;
}
snGradSchemes
{
default corrected;
}
// ************************************************************************* //

View File

@ -1,37 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class dictionary;
location "system";
object refineMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
set c0;
coordinateSystem global;
globalCoeffs
{
e1 (1 0 0);
e2 (0 1 0);
e3 (0 0 1);
}
directions (e1 e2 e3);
useHexTopology yes;
geometricCut no;
writeMesh no;
// ************************************************************************* //

View File

@ -1,28 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class dictionary;
location "system";
object topoSetDict.1;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
actions
(
{
name c0;
type cellSet;
action new;
source boxToCell;
box (0.004 -0.001 -1) (0.012 0.001 1);
}
);
// ************************************************************************* //

View File

@ -1,28 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class dictionary;
location "system";
object topoSetDict.2;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
actions
(
{
name c0;
type cellSet;
action new;
source boxToCell;
box (0.0045 -0.00075 -1) (0.0095 0.00075 1);
}
);
// ************************************************************************* //

View File

@ -1,28 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class dictionary;
location "system";
object topoSetDict.3;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
actions
(
{
name c0;
type cellSet;
action new;
source boxToCell;
box (0.00475 -0.000375 -1) (0.009 0.000375 1);
}
);
// ************************************************************************* //

View File

@ -1,45 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class volScalarField;
object rho;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [1 -3 0 0 0];
internalField uniform 845;
boundaryField
{
inlet
{
type fixedValue;
value uniform 845;
}
outlet
{
type fixedValue;
value uniform 835;
}
walls
{
type zeroGradient;
}
frontBack
{
type empty;
}
}
// ************************************************************************* //

View File

@ -1,12 +0,0 @@
#!/bin/sh
cd ${0%/*} || exit 1 # Run from this directory
# Source tutorial clean functions
. $WM_PROJECT_DIR/bin/tools/CleanFunctions
rm -rf constant/polyMesh/sets
rm -rf 0/polyMesh
rm -f system/topoSetDict
cleanCase
#------------------------------------------------------------------------------

View File

@ -1,24 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class dictionary;
location "constant";
object physicalProperties.vapour;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
viscosityModel Newtonian;
nu 4.252e-05;
rho 0.14;
// ************************************************************************* //

View File

@ -1,24 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class dictionary;
location "constant";
object physicalProperties.water;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
viscosityModel Newtonian;
nu 7.831e-06;
rho 830;
// ************************************************************************* //

View File

@ -1,132 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class dictionary;
object blockMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
convertToMeters 1.0e-3;
vertices
(
( 0.00 -2.50 -0.15)
( 5.00 -2.50 -0.15)
( 5.00 -0.15 -0.15)
( 7.00 -0.15 -0.15)
( 7.00 -2.50 -0.15)
(17.00 -2.50 -0.15)
(17.00 -0.15 -0.15)
(17.00 0.15 -0.15)
(17.00 2.50 -0.15)
( 7.00 2.50 -0.15)
( 7.00 0.15 -0.15)
( 5.00 0.15 -0.15)
( 5.00 2.50 -0.15)
( 0.00 2.50 -0.15)
( 0.00 0.15 -0.15)
( 0.00 -0.15 -0.15)
( 0.00 -2.50 0.15)
( 5.00 -2.50 0.15)
( 5.00 -0.15 0.15)
( 7.00 -0.15 0.15)
( 7.00 -2.50 0.15)
(17.00 -2.50 0.15)
(17.00 -0.15 0.15)
(17.00 0.15 0.15)
(17.00 2.50 0.15)
( 7.00 2.50 0.15)
( 7.00 0.15 0.15)
( 5.00 0.15 0.15)
( 5.00 2.50 0.15)
( 0.00 2.50 0.15)
( 0.00 0.15 0.15)
( 0.00 -0.15 0.15)
);
blocks
(
hex ( 0 1 2 15 16 17 18 31) ( 50 24 1) simpleGrading (1 1 1)
hex (15 2 11 14 31 18 27 30) ( 50 3 1) simpleGrading (1 1 1)
hex (14 11 12 13 30 27 28 29) ( 50 24 1) simpleGrading (1 1 1)
hex ( 2 3 10 11 18 19 26 27) ( 20 3 1) simpleGrading (1 1 1)
hex ( 4 5 6 3 20 21 22 19) (100 24 1) simpleGrading (1 1 1)
hex ( 3 6 7 10 19 22 23 26) (100 3 1) simpleGrading (1 1 1)
hex (10 7 8 9 26 23 24 25) (100 24 1) simpleGrading (1 1 1)
);
boundary
(
inlet
{
type patch;
faces
(
(15 0 16 31)
(14 15 31 30)
(13 14 30 29)
);
}
outlet
{
type patch;
faces
(
( 5 6 22 21)
( 6 7 23 22)
( 7 8 24 23)
);
}
walls
{
type wall;
faces
(
( 1 0 16 17)
( 2 1 17 18)
( 3 2 18 19)
( 4 3 19 20)
( 5 4 20 21)
( 9 8 24 25)
(10 9 25 26)
(11 10 26 27)
(12 11 27 28)
(13 12 28 29)
);
}
frontBack
{
type empty;
faces
(
( 0 15 2 1)
(15 14 11 2)
(14 13 12 11)
( 2 11 10 3)
( 4 3 6 5)
( 3 10 7 6)
(10 9 8 7)
(16 17 18 31)
(31 18 27 30)
(30 27 28 29)
(18 19 26 27)
(20 21 22 19)
(19 22 23 26)
(26 23 24 25)
);
}
);
// ************************************************************************* //

View File

@ -1,82 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class dictionary;
location "system";
object fvSolution;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
solvers
{
rho
{
solver smoothSolver;
smoother symGaussSeidel;
tolerance 1e-08;
relTol 0.1;
}
rhoFinal
{
solver smoothSolver;
smoother symGaussSeidel;
tolerance 1e-08;
relTol 0;
}
p
{
solver GAMG;
tolerance 0;
relTol 0.1;
smoother GaussSeidel;
}
pFinal
{
$p;
tolerance 1e-08;
relTol 0;
}
"(U|k|omega)"
{
solver smoothSolver;
smoother symGaussSeidel;
tolerance 1e-08;
relTol 0.1;
}
"(U|k|omega)Final"
{
solver smoothSolver;
smoother symGaussSeidel;
tolerance 1e-08;
relTol 0;
}
}
PIMPLE
{
nCorrectors 3;
nNonOrthogonalCorrectors 0;
}
relaxationFactors
{
equations
{
".*" 1;
}
}
// ************************************************************************* //

View File

@ -1,36 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class dictionary;
location "system";
object refineMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
set c0;
coordinateSystem global;
globalCoeffs
{
e1 (1 0 0);
e2 (0 1 0);
}
directions (e1 e2);
useHexTopology yes;
geometricCut no;
writeMesh no;
// ************************************************************************* //

View File

@ -1,28 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class dictionary;
location "system";
object topoSetDict.1;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
actions
(
{
name c0;
type cellSet;
action new;
source boxToCell;
box (0.004 -0.001 -1) (0.012 0.001 1);
}
);
// ************************************************************************* //

View File

@ -1,28 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class dictionary;
location "system";
object topoSetDict.2;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
actions
(
{
name c0;
type cellSet;
action new;
source boxToCell;
box (0.0045 -0.00075 -1) (0.0095 0.00075 1);
}
);
// ************************************************************************* //

View File

@ -1,28 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class dictionary;
location "system";
object topoSetDict.3;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
actions
(
{
name c0;
type cellSet;
action new;
source boxToCell;
box (0.00475 -0.000375 -1) (0.009 0.000375 1);
}
);
// ************************************************************************* //