diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/Allwclean b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/Allwclean deleted file mode 100755 index 8af1402435a2178688f40851c00f4059d8fe6ecd..0000000000000000000000000000000000000000 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/Allwclean +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh -cd ${0%/*} || exit 1 # run from this directory -set -x - -wclean libso twoPhaseSystem -wclean libso interfacialModels -wclean libso phaseIncompressibleTurbulenceModels -wclean - -# ----------------------------------------------------------------- end-of-file diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/Allwmake b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/Allwmake deleted file mode 100755 index 6ba04af78975101142523bd6ce3d4d82229fd1e6..0000000000000000000000000000000000000000 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/Allwmake +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh -cd ${0%/*} || exit 1 # run from this directory -set -x - -wmakeLnInclude interfacialModels -wmake libso twoPhaseSystem -wmake libso interfacialModels -wmake libso phaseIncompressibleTurbulenceModels -wmake - -# ----------------------------------------------------------------- end-of-file diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/CourantNos.H b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/CourantNos.H deleted file mode 100644 index 4433c5cde4acbea8fb992d02c9b8e4d316976973..0000000000000000000000000000000000000000 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/CourantNos.H +++ /dev/null @@ -1,12 +0,0 @@ -# include "CourantNo.H" - -{ - scalar UrCoNum = 0.5*gMax - ( - fvc::surfaceSum(mag(phi1 - phi2))().internalField()/mesh.V().field() - )*runTime.deltaTValue(); - - Info<< "Max Ur Courant Number = " << UrCoNum << endl; - - CoNum = max(CoNum, UrCoNum); -} diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/DDtU.H b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/DDtU.H deleted file mode 100644 index 1685caa5882b0221a5fd71f803d544ffb688c978..0000000000000000000000000000000000000000 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/DDtU.H +++ /dev/null @@ -1,13 +0,0 @@ -{ - DDtU1 = - fvc::ddt(U1) - + fvc::div(phi1, U1) - - fvc::div(phi1)*U1; - mrfZones.addCoriolis(U1, DDtU1); - - DDtU2 = - fvc::ddt(U2) - + fvc::div(phi2, U2) - - fvc::div(phi2)*U2; - mrfZones.addCoriolis(U2, DDtU2); -} diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/Make/files b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/Make/files deleted file mode 100644 index 8a3ad43683bc32550a6ba79729ca4f27df330735..0000000000000000000000000000000000000000 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/Make/files +++ /dev/null @@ -1,3 +0,0 @@ -compressibleTwoPhaseEulerFoam.C - -EXE = $(FOAM_APPBIN)/compressibleTwoPhaseEulerFoam diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/Make/options b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/Make/options deleted file mode 100644 index e178081548d29db5d3f948a6cb8feafc91e365c8..0000000000000000000000000000000000000000 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/Make/options +++ /dev/null @@ -1,23 +0,0 @@ -EXE_INC = \ - -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ - -I$(LIB_SRC)/finiteVolume/lnInclude \ - -I$(LIB_SRC)/transportModels/incompressible/lnInclude \ - -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \ - -I$(LIB_SRC)/TurbulenceModels/incompressible/lnInclude \ - -I$(LIB_SRC)/TurbulenceModels/phaseIncompressible/lnInclude \ - -IphaseIncompressibleTurbulenceModels/lnInclude \ - -IinterfacialModels/lnInclude \ - -ItwoPhaseSystem/lnInclude \ - -Iaveraging - -EXE_LIBS = \ - -lfluidThermophysicalModels \ - -lspecie \ - -lturbulenceModels \ - -lincompressibleTurbulenceModels \ - -lphaseIncompressibleTurbulenceModels \ - -lincompressibleTransportModels \ - -lcompressibleTwoPhaseSystem \ - -lcompressibleEulerianInterfacialModels \ - -lfiniteVolume \ - -lmeshTools diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/UEqns.H b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/UEqns.H deleted file mode 100644 index dea48be335460a4e698b13fa867467eedb0af76c..0000000000000000000000000000000000000000 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/UEqns.H +++ /dev/null @@ -1,61 +0,0 @@ -mrfZones.correctBoundaryVelocity(U1); -mrfZones.correctBoundaryVelocity(U2); -mrfZones.correctBoundaryVelocity(U); - -fvVectorMatrix U1Eqn(U1, U1.dimensions()*dimVol/dimTime); -fvVectorMatrix U2Eqn(U2, U2.dimensions()*dimVol/dimTime); - -volScalarField dragCoeff(fluid.dragCoeff()); - -{ - volVectorField liftForce(fluid.liftForce(U)); - - { - U1Eqn = - ( - fvm::ddt(alpha1, U1) - + fvm::div(alphaPhi1, U1) - - // Compressibity correction - - fvm::Sp(fvc::ddt(alpha1) + fvc::div(alphaPhi1), U1) - - + fluid.Cvm()*rho2*alpha1*alpha2/rho1* - ( - fvm::ddt(U1) - + fvm::div(phi1, U1) - - fvm::Sp(fvc::div(phi1), U1) - ) - - + turbulence1->divDevReff(U1) - == - - fvm::Sp(dragCoeff/rho1, U1) - - alpha1*alpha2/rho1*(liftForce - fluid.Cvm()*rho2*DDtU2) - ); - mrfZones.addCoriolis(alpha1*(1 + fluid.Cvm()*rho2*alpha2/rho1), U1Eqn); - U1Eqn.relax(); - } - - { - U2Eqn = - ( - fvm::ddt(alpha2, U2) - + fvm::div(alphaPhi2, U2) - - // Compressibity correction - - fvm::Sp(fvc::ddt(alpha2) + fvc::div(alphaPhi2), U2) - - + fluid.Cvm()*rho2*alpha1*alpha2/rho2* - ( - fvm::ddt(U2) - + fvm::div(phi2, U2) - - fvm::Sp(fvc::div(phi2), U2) - ) - + turbulence2->divDevReff(U2) - == - - fvm::Sp(dragCoeff/rho2, U2) - + alpha1*alpha2/rho2*(liftForce + fluid.Cvm()*rho2*DDtU1) - ); - mrfZones.addCoriolis(alpha2*(1 + fluid.Cvm()*rho2*alpha1/rho2), U2Eqn); - U2Eqn.relax(); - } -} diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/alphaEqn.H b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/alphaEqn.H deleted file mode 100644 index 77a04592e329b4f25babaf8edbc0977668eb5c3f..0000000000000000000000000000000000000000 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/alphaEqn.H +++ /dev/null @@ -1,142 +0,0 @@ -{ - word alphaScheme("div(phi," + alpha1.name() + ')'); - word alpharScheme("div(phir," + alpha1.name() + ')'); - - surfaceScalarField phic("phic", phi); - surfaceScalarField phir("phir", phi1 - phi2); - - surfaceScalarField alpha1f(fvc::interpolate(max(alpha1, scalar(0)))); - - tmp<surfaceScalarField> pPrimeByA; - - if (implicitPhasePressure) - { - pPrimeByA = - fvc::interpolate((1.0/rho1)*rAU1*turbulence1().pPrime()) - + fvc::interpolate((1.0/rho2)*rAU2*turbulence2().pPrime()); - - surfaceScalarField phiP - ( - pPrimeByA()*fvc::snGrad(alpha1, "bounded")*mesh.magSf() - ); - - phic += alpha1f*phiP; - phir += phiP; - } - - for (int acorr=0; acorr<nAlphaCorr; acorr++) - { - volScalarField::DimensionedInternalField Sp - ( - IOobject - ( - "Sp", - runTime.timeName(), - mesh - ), - mesh, - dimensionedScalar("Sp", dgdt.dimensions(), 0.0) - ); - - volScalarField::DimensionedInternalField Su - ( - IOobject - ( - "Su", - runTime.timeName(), - mesh - ), - // Divergence term is handled explicitly to be - // consistent with the explicit transport solution - fvc::div(phi)*min(alpha1, scalar(1)) - ); - - forAll(dgdt, celli) - { - if (dgdt[celli] > 0.0 && alpha1[celli] > 0.0) - { - Sp[celli] -= dgdt[celli]*alpha1[celli]; - Su[celli] += dgdt[celli]*alpha1[celli]; - } - else if (dgdt[celli] < 0.0 && alpha1[celli] < 1.0) - { - Sp[celli] += dgdt[celli]*(1.0 - alpha1[celli]); - } - } - - dimensionedScalar totalDeltaT = runTime.deltaT(); - if (nAlphaSubCycles > 1) - { - alphaPhi1 = dimensionedScalar("0", alphaPhi1.dimensions(), 0); - } - - for - ( - subCycle<volScalarField> alphaSubCycle(alpha1, nAlphaSubCycles); - !(++alphaSubCycle).end(); - ) - { - surfaceScalarField alphaPhic1 - ( - fvc::flux - ( - phic, - alpha1, - alphaScheme - ) - + fvc::flux - ( - -fvc::flux(-phir, scalar(1) - alpha1, alpharScheme), - alpha1, - alpharScheme - ) - ); - - MULES::explicitSolve - ( - geometricOneField(), - alpha1, - phi, - alphaPhic1, - Sp, - Su, - 1, - 0 - ); - - if (nAlphaSubCycles > 1) - { - alphaPhi1 += (runTime.deltaT()/totalDeltaT)*alphaPhic1; - } - else - { - alphaPhi1 = alphaPhic1; - } - } - - if (implicitPhasePressure) - { - fvScalarMatrix alpha1Eqn - ( - fvm::ddt(alpha1) - fvc::ddt(alpha1) - - fvm::laplacian(alpha1f*pPrimeByA, alpha1, "bounded") - ); - - alpha1Eqn.relax(); - alpha1Eqn.solve(); - - alphaPhi1 += alpha1Eqn.flux(); - } - - alphaPhi2 = phi - alphaPhi1; - alpha2 = scalar(1) - alpha1; - - Info<< "Dispersed phase volume fraction = " - << alpha1.weightedAverage(mesh.V()).value() - << " Min(alpha1) = " << min(alpha1).value() - << " Max(alpha1) = " << max(alpha1).value() - << endl; - } -} - -rho = fluid.rho(); diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/compressibleTwoPhaseEulerFoam.C b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/compressibleTwoPhaseEulerFoam.C deleted file mode 100644 index 22018f9d8caf0f0fb85396a8cdb2406b3c6eb429..0000000000000000000000000000000000000000 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/compressibleTwoPhaseEulerFoam.C +++ /dev/null @@ -1,110 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 2011-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 <http://www.gnu.org/licenses/>. - -Application - compressibleTwoPhaseEulerFoam - -Description - Solver for a system of 2 compressible fluid phases with one phase - dispersed, e.g. gas bubbles in a liquid including heat-transfer. - -\*---------------------------------------------------------------------------*/ - -#include "fvCFD.H" -#include "MULES.H" -#include "subCycle.H" -#include "rhoThermo.H" -#include "twoPhaseSystem.H" -#include "dragModel.H" -#include "heatTransferModel.H" -#include "PhaseIncompressibleTurbulenceModel.H" -#include "pimpleControl.H" -#include "IOMRFZoneList.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -int main(int argc, char *argv[]) -{ - #include "setRootCase.H" - - #include "createTime.H" - #include "createMesh.H" - #include "readGravitationalAcceleration.H" - #include "createFields.H" - #include "createMRFZones.H" - #include "initContinuityErrs.H" - #include "readTimeControls.H" - #include "CourantNos.H" - #include "setInitialDeltaT.H" - - pimpleControl pimple(mesh); - - // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - - Info<< "\nStarting time loop\n" << endl; - - while (runTime.run()) - { - #include "readTwoPhaseEulerFoamControls.H" - #include "CourantNos.H" - #include "setDeltaT.H" - - runTime++; - Info<< "Time = " << runTime.timeName() << nl << endl; - - // --- Pressure-velocity PIMPLE corrector loop - while (pimple.loop()) - { - #include "alphaEqn.H" - #include "EEqns.H" - #include "UEqns.H" - - // --- Pressure corrector loop - while (pimple.correct()) - { - #include "pEqn.H" - } - - #include "DDtU.H" - - if (pimple.turbCorr()) - { - turbulence1->correct(); - turbulence2->correct(); - } - } - - #include "write.H" - - Info<< "ExecutionTime = " - << runTime.elapsedCpuTime() - << " s\n\n" << endl; - } - - Info<< "End\n" << endl; - - return 0; -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/createFields.H b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/createFields.H deleted file mode 100644 index f279445cf639bc7992037f31a6f4b92ed487c714..0000000000000000000000000000000000000000 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/createFields.H +++ /dev/null @@ -1,185 +0,0 @@ - Info<< "Creating twoPhaseSystem\n" << endl; - - twoPhaseSystem fluid(mesh); - - phaseModel& phase1 = fluid.phase1(); - phaseModel& phase2 = fluid.phase2(); - - volScalarField& alpha1 = phase1; - volScalarField& alpha2 = phase2; - - volVectorField& U1 = phase1.U(); - surfaceScalarField& phi1 = phase1.phi(); - surfaceScalarField alphaPhi1 - ( - IOobject::groupName("alphaPhi", phase1.name()), - fvc::interpolate(alpha1)*phi1 - ); - - volVectorField& U2 = phase2.U(); - surfaceScalarField& phi2 = phase2.phi(); - surfaceScalarField alphaPhi2 - ( - IOobject::groupName("alphaPhi", phase2.name()), - fvc::interpolate(alpha2)*phi2 - ); - - dimensionedScalar pMin - ( - "pMin", - dimPressure, - fluid.lookup("pMin") - ); - - rhoThermo& thermo1 = phase1.thermo(); - rhoThermo& thermo2 = phase2.thermo(); - - volScalarField& p = thermo1.p(); - - volScalarField& rho1 = thermo1.rho(); - const volScalarField& psi1 = thermo1.psi(); - - volScalarField& rho2 = thermo2.rho(); - const volScalarField& psi2 = thermo2.psi(); - - volVectorField U - ( - IOobject - ( - "U", - runTime.timeName(), - mesh, - IOobject::NO_READ, - IOobject::AUTO_WRITE - ), - fluid.U() - ); - - surfaceScalarField phi - ( - IOobject - ( - "phi", - runTime.timeName(), - mesh, - IOobject::NO_READ, - IOobject::AUTO_WRITE - ), - fluid.phi() - ); - - volScalarField rho - ( - IOobject - ( - "rho", - runTime.timeName(), - mesh, - IOobject::NO_READ, - IOobject::AUTO_WRITE - ), - fluid.rho() - ); - - Info<< "Calculating field DDtU1 and DDtU2\n" << endl; - - volVectorField DDtU1 - ( - fvc::ddt(U1) - + fvc::div(phi1, U1) - - fvc::div(phi1)*U1 - ); - - volVectorField DDtU2 - ( - fvc::ddt(U2) - + fvc::div(phi2, U2) - - fvc::div(phi2)*U2 - ); - - - Info<< "Calculating field g.h\n" << endl; - volScalarField gh("gh", g & mesh.C()); - - volScalarField rAU1 - ( - IOobject - ( - IOobject::groupName("rAU", phase1.name()), - runTime.timeName(), - mesh, - IOobject::NO_READ, - IOobject::NO_WRITE - ), - mesh, - dimensionedScalar("zero", dimensionSet(0, 0, 1, 0, 0), 0.0) - ); - - volScalarField rAU2 - ( - IOobject - ( - IOobject::groupName("rAU", phase2.name()), - runTime.timeName(), - mesh, - IOobject::NO_READ, - IOobject::NO_WRITE - ), - mesh, - dimensionedScalar("zero", dimensionSet(0, 0, 1, 0, 0), 0.0) - ); - - label pRefCell = 0; - scalar pRefValue = 0.0; - setRefCell(p, mesh.solutionDict().subDict("PIMPLE"), pRefCell, pRefValue); - - - volScalarField dgdt - ( - pos(alpha2)*fvc::div(phi)/max(alpha2, scalar(0.0001)) - ); - - - Info<< "Creating field dpdt\n" << endl; - volScalarField dpdt - ( - IOobject - ( - "dpdt", - runTime.timeName(), - mesh - ), - mesh, - dimensionedScalar("dpdt", p.dimensions()/dimTime, 0) - ); - - - Info<< "Creating field kinetic energy K\n" << endl; - volScalarField K1(IOobject::groupName("K", phase1.name()), 0.5*magSqr(U1)); - volScalarField K2(IOobject::groupName("K", phase2.name()), 0.5*magSqr(U2)); - - autoPtr<PhaseIncompressibleTurbulenceModel<phaseModel> > - turbulence1 - ( - PhaseIncompressibleTurbulenceModel<phaseModel>::New - ( - alpha1, - U1, - alphaPhi1, - phi1, - phase1 - ) - ); - - autoPtr<PhaseIncompressibleTurbulenceModel<phaseModel> > - turbulence2 - ( - PhaseIncompressibleTurbulenceModel<phaseModel>::New - ( - alpha2, - U2, - alphaPhi2, - phi2, - phase2 - ) - ); diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/createMRFZones.H b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/createMRFZones.H deleted file mode 100644 index 7b875a20e0c692e0ed341a39563c09545f4b1da0..0000000000000000000000000000000000000000 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/createMRFZones.H +++ /dev/null @@ -1,4 +0,0 @@ - IOMRFZoneList mrfZones(mesh); - mrfZones.correctBoundaryVelocity(U1); - mrfZones.correctBoundaryVelocity(U2); - mrfZones.correctBoundaryVelocity(U); diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/interfacialModels/Make/files b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/interfacialModels/Make/files deleted file mode 100644 index 43c0f9b2a9df4708c2e2386ec8a640acf5413a56..0000000000000000000000000000000000000000 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/interfacialModels/Make/files +++ /dev/null @@ -1,15 +0,0 @@ -dragModels/dragModel/dragModel.C -dragModels/dragModel/newDragModel.C -dragModels/Ergun/Ergun.C -dragModels/GidaspowErgunWenYu/GidaspowErgunWenYu.C -dragModels/GidaspowSchillerNaumann/GidaspowSchillerNaumann.C -dragModels/SchillerNaumann/SchillerNaumann.C -dragModels/Gibilaro/Gibilaro.C -dragModels/WenYu/WenYu.C -dragModels/SyamlalOBrien/SyamlalOBrien.C - -heatTransferModels/heatTransferModel/heatTransferModel.C -heatTransferModels/heatTransferModel/newHeatTransferModel.C -heatTransferModels/RanzMarshall/RanzMarshall.C - -LIB = $(FOAM_LIBBIN)/libcompressibleEulerianInterfacialModels diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/interfacialModels/Make/options b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/interfacialModels/Make/options deleted file mode 100644 index e7e60696ec115958097f3014006ebf9c93889980..0000000000000000000000000000000000000000 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/interfacialModels/Make/options +++ /dev/null @@ -1,10 +0,0 @@ -EXE_INC = \ - -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ - -I$(LIB_SRC)/transportModels/incompressible/transportModel \ - -I$(LIB_SRC)/finiteVolume/lnInclude \ - -I../twoPhaseSystem/lnInclude - -LIB_LIBS = \ - -lcompressibleTwoPhaseSystem \ - -lfluidThermophysicalModels \ - -lspecie diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/interfacialModels/dragModels/Ergun/Ergun.C b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/interfacialModels/dragModels/Ergun/Ergun.C deleted file mode 100644 index 5d07ed2168ad565829487bf2e0025b4d9a740dd4..0000000000000000000000000000000000000000 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/interfacialModels/dragModels/Ergun/Ergun.C +++ /dev/null @@ -1,83 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 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 "Ergun.H" -#include "addToRunTimeSelectionTable.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ -namespace dragModels -{ - defineTypeNameAndDebug(Ergun, 0); - - addToRunTimeSelectionTable - ( - dragModel, - Ergun, - dictionary - ); -} -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::dragModels::Ergun::Ergun -( - const dictionary& interfaceDict, - const volScalarField& alpha1, - const phaseModel& phase1, - const phaseModel& phase2 -) -: - dragModel(interfaceDict, alpha1, phase1, phase2) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::dragModels::Ergun::~Ergun() -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -Foam::tmp<Foam::volScalarField> Foam::dragModels::Ergun::K -( - const volScalarField& Ur -) const -{ - volScalarField alpha2(max(scalar(1) - alpha1_, scalar(1.0e-6))); - - return - 150.0*alpha1_*phase2_.nu()*phase2_.rho() - /sqr(alpha2*phase1_.d()) - + 1.75*phase2_.rho()*Ur/(alpha2*phase1_.d()); -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/interfacialModels/dragModels/Ergun/Ergun.H b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/interfacialModels/dragModels/Ergun/Ergun.H deleted file mode 100644 index 558b6688840cc13a76abb44ff0cf686f5cb57e2f..0000000000000000000000000000000000000000 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/interfacialModels/dragModels/Ergun/Ergun.H +++ /dev/null @@ -1,96 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 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::dragModels::Ergun - -Description - H, Enwald, E. Peirano, A-E Almstedt - 'Eulerian Two-Phase Flow Theory Applied to Fluidization' - Int. J. Multiphase Flow, Vol. 22, Suppl, pp. 21-66 (1996) - Eq. 104, p. 42 - -SourceFiles - Ergun.C - -\*---------------------------------------------------------------------------*/ - -#ifndef Ergun_H -#define Ergun_H - -#include "dragModel.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ -namespace dragModels -{ - -/*---------------------------------------------------------------------------*\ - Class Ergun Declaration -\*---------------------------------------------------------------------------*/ - -class Ergun -: - public dragModel -{ - -public: - - //- Runtime type information - TypeName("Ergun"); - - - // Constructors - - //- Construct from components - Ergun - ( - const dictionary& interfaceDict, - const volScalarField& alpha1, - const phaseModel& phase1, - const phaseModel& phase2 - ); - - - //- Destructor - virtual ~Ergun(); - - - // Member Functions - - tmp<volScalarField> K(const volScalarField& Ur) const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace dragModels -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/interfacialModels/dragModels/Gibilaro/Gibilaro.C b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/interfacialModels/dragModels/Gibilaro/Gibilaro.C deleted file mode 100644 index c500b5b95921bfe1f3aa101c72255088f0d2a527..0000000000000000000000000000000000000000 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/interfacialModels/dragModels/Gibilaro/Gibilaro.C +++ /dev/null @@ -1,82 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 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 "Gibilaro.H" -#include "addToRunTimeSelectionTable.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ -namespace dragModels -{ - defineTypeNameAndDebug(Gibilaro, 0); - - addToRunTimeSelectionTable - ( - dragModel, - Gibilaro, - dictionary - ); -} -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::dragModels::Gibilaro::Gibilaro -( - const dictionary& interfaceDict, - const volScalarField& alpha1, - const phaseModel& phase1, - const phaseModel& phase2 -) -: - dragModel(interfaceDict, alpha1, phase1, phase2) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::dragModels::Gibilaro::~Gibilaro() -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -Foam::tmp<Foam::volScalarField> Foam::dragModels::Gibilaro::K -( - const volScalarField& Ur -) const -{ - volScalarField alpha2(max(scalar(1) - alpha1_, scalar(1.0e-6))); - volScalarField bp(pow(alpha2, -2.8)); - volScalarField Re(max(alpha2*Ur*phase1_.d()/phase2_.nu(), scalar(1.0e-3))); - - return (17.3/Re + scalar(0.336))*phase2_.rho()*Ur*bp/phase1_.d(); -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/interfacialModels/dragModels/Gibilaro/Gibilaro.H b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/interfacialModels/dragModels/Gibilaro/Gibilaro.H deleted file mode 100644 index 48c714ee4e967ae66d235baa60f2cbc77329dc95..0000000000000000000000000000000000000000 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/interfacialModels/dragModels/Gibilaro/Gibilaro.H +++ /dev/null @@ -1,96 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 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::dragModels::Gibilaro - -Description - H, Enwald, E. Peirano, A-E Almstedt - 'Eulerian Two-Phase Flow Theory Applied to Fluidization' - Int. J. Multiphase Flow, Vol. 22, Suppl, pp. 21-66 (1996) - Eq. 106, p. 43 - -SourceFiles - Gibilaro.C - -\*---------------------------------------------------------------------------*/ - -#ifndef Gibilaro_H -#define Gibilaro_H - -#include "dragModel.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ -namespace dragModels -{ - -/*---------------------------------------------------------------------------*\ - Class Gibilaro Declaration -\*---------------------------------------------------------------------------*/ - -class Gibilaro -: - public dragModel -{ - -public: - - //- Runtime type information - TypeName("Gibilaro"); - - - // Constructors - - //- Construct from components - Gibilaro - ( - const dictionary& interfaceDict, - const volScalarField& alpha1, - const phaseModel& phase1, - const phaseModel& phase2 - ); - - - //- Destructor - virtual ~Gibilaro(); - - - // Member Functions - - tmp<volScalarField> K(const volScalarField& Ur) const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace dragModels -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/interfacialModels/dragModels/GidaspowErgunWenYu/GidaspowErgunWenYu.C b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/interfacialModels/dragModels/GidaspowErgunWenYu/GidaspowErgunWenYu.C deleted file mode 100644 index 4fb9a628064e9356b607783e0ac7ec5c49b4c65f..0000000000000000000000000000000000000000 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/interfacialModels/dragModels/GidaspowErgunWenYu/GidaspowErgunWenYu.C +++ /dev/null @@ -1,99 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 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 "GidaspowErgunWenYu.H" -#include "addToRunTimeSelectionTable.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ -namespace dragModels -{ - defineTypeNameAndDebug(GidaspowErgunWenYu, 0); - - addToRunTimeSelectionTable - ( - dragModel, - GidaspowErgunWenYu, - dictionary - ); -} -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::dragModels::GidaspowErgunWenYu::GidaspowErgunWenYu -( - const dictionary& interfaceDict, - const volScalarField& alpha1, - const phaseModel& phase1, - const phaseModel& phase2 -) -: - dragModel(interfaceDict, alpha1, phase1, phase2) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::dragModels::GidaspowErgunWenYu::~GidaspowErgunWenYu() -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -Foam::tmp<Foam::volScalarField> Foam::dragModels::GidaspowErgunWenYu::K -( - const volScalarField& Ur -) const -{ - volScalarField alpha2(max(scalar(1) - alpha1_, scalar(1.0e-6))); - volScalarField d(phase1_.d()); - volScalarField bp(pow(alpha2, -2.65)); - volScalarField Re(max(Ur*d/phase2_.nu(), scalar(1.0e-3))); - - volScalarField Cds - ( - neg(Re - 1000)*(24.0*(1.0 + 0.15*pow(Re, 0.687))/Re) - + pos(Re - 1000)*0.44 - ); - - // Wen and Yu (1966) - return - ( - pos(alpha2 - 0.8) - *(0.75*Cds*phase2_.rho()*Ur*bp/d) - + neg(alpha2 - 0.8) - *( - 150.0*alpha1_*phase2_.nu()*phase2_.rho()/(sqr(alpha2*d)) - + 1.75*phase2_.rho()*Ur/(alpha2*d) - ) - ); -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/interfacialModels/dragModels/GidaspowErgunWenYu/GidaspowErgunWenYu.H b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/interfacialModels/dragModels/GidaspowErgunWenYu/GidaspowErgunWenYu.H deleted file mode 100644 index f92c55f1647bb0c0a9a63ca45b4aa5597cb408a9..0000000000000000000000000000000000000000 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/interfacialModels/dragModels/GidaspowErgunWenYu/GidaspowErgunWenYu.H +++ /dev/null @@ -1,94 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 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::dragModels::GidaspowErgunWenYu - -Description - D. Gidaspow, Multiphase flow and fluidization, - Academic Press, New York, 1994. - -SourceFiles - GidaspowErgunWenYu.C - -\*---------------------------------------------------------------------------*/ - -#ifndef GidaspowErgunWenYu_H -#define GidaspowErgunWenYu_H - -#include "dragModel.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ -namespace dragModels -{ - -/*---------------------------------------------------------------------------*\ - Class GidaspowErgunWenYu Declaration -\*---------------------------------------------------------------------------*/ - -class GidaspowErgunWenYu -: - public dragModel -{ - -public: - - //- Runtime type information - TypeName("GidaspowErgunWenYu"); - - - // Constructors - - //- Construct from components - GidaspowErgunWenYu - ( - const dictionary& interfaceDict, - const volScalarField& alpha1, - const phaseModel& phase1, - const phaseModel& phase2 - ); - - - //- Destructor - virtual ~GidaspowErgunWenYu(); - - - // Member Functions - - tmp<volScalarField> K(const volScalarField& Ur) const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace dragModels -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/interfacialModels/dragModels/GidaspowSchillerNaumann/GidaspowSchillerNaumann.C b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/interfacialModels/dragModels/GidaspowSchillerNaumann/GidaspowSchillerNaumann.C deleted file mode 100644 index c3987a4fa3c6c67554ecc446730bfeda50fc63c2..0000000000000000000000000000000000000000 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/interfacialModels/dragModels/GidaspowSchillerNaumann/GidaspowSchillerNaumann.C +++ /dev/null @@ -1,88 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 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 "GidaspowSchillerNaumann.H" -#include "addToRunTimeSelectionTable.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ -namespace dragModels -{ - defineTypeNameAndDebug(GidaspowSchillerNaumann, 0); - - addToRunTimeSelectionTable - ( - dragModel, - GidaspowSchillerNaumann, - dictionary - ); -} -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::dragModels::GidaspowSchillerNaumann::GidaspowSchillerNaumann -( - const dictionary& interfaceDict, - const volScalarField& alpha1, - const phaseModel& phase1, - const phaseModel& phase2 -) -: - dragModel(interfaceDict, alpha1, phase1, phase2) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::dragModels::GidaspowSchillerNaumann::~GidaspowSchillerNaumann() -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -Foam::tmp<Foam::volScalarField> Foam::dragModels::GidaspowSchillerNaumann::K -( - const volScalarField& Ur -) const -{ - volScalarField alpha2(max(scalar(1) - alpha1_, scalar(1e-6))); - volScalarField bp(pow(alpha2, -2.65)); - - volScalarField Re(max(alpha2*Ur*phase1_.d()/phase2_.nu(), scalar(1.0e-3))); - volScalarField Cds - ( - neg(Re - 1000)*(24.0*(1.0 + 0.15*pow(Re, 0.687))/Re) - + pos(Re - 1000)*0.44 - ); - - return 0.75*Cds*phase2_.rho()*Ur*bp/phase1_.d(); -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/interfacialModels/dragModels/GidaspowSchillerNaumann/GidaspowSchillerNaumann.H b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/interfacialModels/dragModels/GidaspowSchillerNaumann/GidaspowSchillerNaumann.H deleted file mode 100644 index a58b4ecb93de19f3106ab37b29e86869f3f056e4..0000000000000000000000000000000000000000 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/interfacialModels/dragModels/GidaspowSchillerNaumann/GidaspowSchillerNaumann.H +++ /dev/null @@ -1,103 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 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::dragModels::GidaspowSchillerNaumann - -Description - H, Enwald, E. Peirano, A-E Almstedt - 'Eulerian Two-Phase Flow Theory Applied to Fluidization' - Int. J. Multiphase Flow, Vol. 22, Suppl, pp. 21-66 (1996) - Eq. 86-87, p. 40 - - This is identical to the Wen and Yu, Rowe model Table 3.6 p.56 in - the Ph.D. thesis of Berend van Wachem - 'Derivation, Implementation and Validation - of - Computer Simulation Models - for Gas-Solid Fluidized Beds' - -SourceFiles - GidaspowSchillerNaumann.C - -\*---------------------------------------------------------------------------*/ - -#ifndef GidaspowSchillerNaumann_H -#define GidaspowSchillerNaumann_H - -#include "dragModel.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ -namespace dragModels -{ - -/*---------------------------------------------------------------------------*\ - Class GidaspowSchillerNaumann Declaration -\*---------------------------------------------------------------------------*/ - -class GidaspowSchillerNaumann -: - public dragModel -{ - -public: - - //- Runtime type information - TypeName("GidaspowSchillerNaumann"); - - - // Constructors - - //- Construct from components - GidaspowSchillerNaumann - ( - const dictionary& interfaceDict, - const volScalarField& alpha1, - const phaseModel& phase1, - const phaseModel& phase2 - ); - - - //- Destructor - virtual ~GidaspowSchillerNaumann(); - - - // Member Functions - - tmp<volScalarField> K(const volScalarField& Ur) const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace dragModels -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/interfacialModels/dragModels/SchillerNaumann/SchillerNaumann.C b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/interfacialModels/dragModels/SchillerNaumann/SchillerNaumann.C deleted file mode 100644 index d8e8be31c60c575fbdf99472bfcb1f209c967a5f..0000000000000000000000000000000000000000 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/interfacialModels/dragModels/SchillerNaumann/SchillerNaumann.C +++ /dev/null @@ -1,85 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 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 "SchillerNaumann.H" -#include "addToRunTimeSelectionTable.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ -namespace dragModels -{ - defineTypeNameAndDebug(SchillerNaumann, 0); - - addToRunTimeSelectionTable - ( - dragModel, - SchillerNaumann, - dictionary - ); -} -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::dragModels::SchillerNaumann::SchillerNaumann -( - const dictionary& interfaceDict, - const volScalarField& alpha1, - const phaseModel& phase1, - const phaseModel& phase2 -) -: - dragModel(interfaceDict, alpha1, phase1, phase2) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::dragModels::SchillerNaumann::~SchillerNaumann() -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -Foam::tmp<Foam::volScalarField> Foam::dragModels::SchillerNaumann::K -( - const volScalarField& Ur -) const -{ - volScalarField Re(max(Ur*phase1_.d()/phase2_.nu(), scalar(1.0e-3))); - volScalarField Cds - ( - neg(Re - 1000)*(24.0*(1.0 + 0.15*pow(Re, 0.687))/Re) - + pos(Re - 1000)*0.44 - ); - - return 0.75*Cds*phase2_.rho()*Ur/phase1_.d(); -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/interfacialModels/dragModels/SyamlalOBrien/SyamlalOBrien.C b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/interfacialModels/dragModels/SyamlalOBrien/SyamlalOBrien.C deleted file mode 100644 index 78cb907f456275fab0d4286643d5462de2398c2f..0000000000000000000000000000000000000000 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/interfacialModels/dragModels/SyamlalOBrien/SyamlalOBrien.C +++ /dev/null @@ -1,98 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 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 "SyamlalOBrien.H" -#include "addToRunTimeSelectionTable.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ -namespace dragModels -{ - defineTypeNameAndDebug(SyamlalOBrien, 0); - - addToRunTimeSelectionTable - ( - dragModel, - SyamlalOBrien, - dictionary - ); -} -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::dragModels::SyamlalOBrien::SyamlalOBrien -( - const dictionary& interfaceDict, - const volScalarField& alpha1, - const phaseModel& phase1, - const phaseModel& phase2 -) -: - dragModel(interfaceDict, alpha1, phase1, phase2) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::dragModels::SyamlalOBrien::~SyamlalOBrien() -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -Foam::tmp<Foam::volScalarField> Foam::dragModels::SyamlalOBrien::K -( - const volScalarField& Ur -) const -{ - volScalarField alpha2(max(scalar(1) - alpha1_, scalar(1.0e-6))); - volScalarField A(pow(alpha2, 4.14)); - volScalarField B - ( - neg(alpha2 - 0.85)*(0.8*pow(alpha2, 1.28)) - + pos(alpha2 - 0.85)*(pow(alpha2, 2.65)) - ); - - volScalarField Re(max(Ur*phase1_.d()/phase2_.nu(), scalar(1.0e-3))); - - volScalarField Vr - ( - 0.5* - ( - A - 0.06*Re + sqrt(sqr(0.06*Re) + 0.12*Re*(2.0*B - A) + sqr(A)) - ) - ); - - volScalarField Cds(sqr(0.63 + 4.8*sqrt(Vr/Re))); - - return 0.75*Cds*phase2_.rho()*Ur/(phase1_.d()*sqr(Vr)); -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/interfacialModels/dragModels/SyamlalOBrien/SyamlalOBrien.H b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/interfacialModels/dragModels/SyamlalOBrien/SyamlalOBrien.H deleted file mode 100644 index e779a49443b58f14d4229f2c999a89c3557b8cb3..0000000000000000000000000000000000000000 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/interfacialModels/dragModels/SyamlalOBrien/SyamlalOBrien.H +++ /dev/null @@ -1,95 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 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::dragModels::SyamlalOBrien - -Description - Syamlal, M., Rogers, W. and O'Brien, T. J. (1993) MFIX documentation, - Theory Guide. Technical Note DOE/METC-94/1004. Morgantown, West Virginia, - USA. - -SourceFiles - SyamlalOBrien.C - -\*---------------------------------------------------------------------------*/ - -#ifndef SyamlalOBrien_H -#define SyamlalOBrien_H - -#include "dragModel.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ -namespace dragModels -{ - -/*---------------------------------------------------------------------------*\ - Class SyamlalOBrien Declaration -\*---------------------------------------------------------------------------*/ - -class SyamlalOBrien -: - public dragModel -{ - -public: - - //- Runtime type information - TypeName("SyamlalOBrien"); - - - // Constructors - - //- Construct from components - SyamlalOBrien - ( - const dictionary& interfaceDict, - const volScalarField& alpha1, - const phaseModel& phase1, - const phaseModel& phase2 - ); - - - //- Destructor - virtual ~SyamlalOBrien(); - - - // Member Functions - - tmp<volScalarField> K(const volScalarField& Ur) const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace dragModels -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/interfacialModels/dragModels/WenYu/WenYu.C b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/interfacialModels/dragModels/WenYu/WenYu.C deleted file mode 100644 index 60330f23b02b31ef7af31c2c3390994cc98cb5f9..0000000000000000000000000000000000000000 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/interfacialModels/dragModels/WenYu/WenYu.C +++ /dev/null @@ -1,88 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 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 "WenYu.H" -#include "addToRunTimeSelectionTable.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ -namespace dragModels -{ - defineTypeNameAndDebug(WenYu, 0); - - addToRunTimeSelectionTable - ( - dragModel, - WenYu, - dictionary - ); -} -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::dragModels::WenYu::WenYu -( - const dictionary& interfaceDict, - const volScalarField& alpha1, - const phaseModel& phase1, - const phaseModel& phase2 -) -: - dragModel(interfaceDict, alpha1, phase1, phase2) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::dragModels::WenYu::~WenYu() -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -Foam::tmp<Foam::volScalarField> Foam::dragModels::WenYu::K -( - const volScalarField& Ur -) const -{ - volScalarField alpha2(max(scalar(1) - alpha1_, scalar(1.0e-6))); - volScalarField bp(pow(alpha2, -2.65)); - - volScalarField Re(max(Ur*phase1_.d()/phase2_.nu(), scalar(1.0e-3))); - volScalarField Cds - ( - neg(Re - 1000)*(24.0*(1.0 + 0.15*pow(Re, 0.687))/Re) - + pos(Re - 1000)*0.44 - ); - - return 0.75*Cds*phase2_.rho()*Ur*bp/phase1_.d(); -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/interfacialModels/dragModels/WenYu/WenYu.H b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/interfacialModels/dragModels/WenYu/WenYu.H deleted file mode 100644 index 3aa601ef04f028fa04a17cfbc6ca9586f5dee762..0000000000000000000000000000000000000000 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/interfacialModels/dragModels/WenYu/WenYu.H +++ /dev/null @@ -1,106 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 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::dragModels::WenYu - -Description - H, Enwald, E. Peirano, A-E Almstedt - 'Eulerian Two-Phase Flow Theory Applied to Fluidization' - Int. J. Multiphase Flow, Vol. 22, Suppl, pp. 21-66 (1996) - Eq. 86-87, p. 40 - - This is identical to the Wen and Yu, Rowe model Table 3.6 p.56 in - the Ph.D. thesis of Berend van Wachem - 'Derivation, Implementation and Validation - of - Computer Simulation Models - for Gas-Solid Fluidized Beds' - - NB: The difference between the Gidaspow-version is the void-fraction - in the Re-number - -SourceFiles - WenYu.C - -\*---------------------------------------------------------------------------*/ - -#ifndef WenYu_H -#define WenYu_H - -#include "dragModel.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ -namespace dragModels -{ - -/*---------------------------------------------------------------------------*\ - Class WenYu Declaration -\*---------------------------------------------------------------------------*/ - -class WenYu -: - public dragModel -{ - -public: - - //- Runtime type information - TypeName("WenYu"); - - - // Constructors - - //- Construct from components - WenYu - ( - const dictionary& interfaceDict, - const volScalarField& alpha1, - const phaseModel& phase1, - const phaseModel& phase2 - ); - - - //- Destructor - virtual ~WenYu(); - - - // Member Functions - - tmp<volScalarField> K(const volScalarField& Ur) const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace dragModels -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/interfacialModels/dragModels/dragModel/dragModel.C b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/interfacialModels/dragModels/dragModel/dragModel.C deleted file mode 100644 index 0d2ed1c6202d9963fca758a9d7e477bae5320cae..0000000000000000000000000000000000000000 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/interfacialModels/dragModels/dragModel/dragModel.C +++ /dev/null @@ -1,60 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 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 "dragModel.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ - defineTypeNameAndDebug(dragModel, 0); - defineRunTimeSelectionTable(dragModel, dictionary); -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::dragModel::dragModel -( - const dictionary& interfaceDict, - const volScalarField& alpha1, - const phaseModel& phase1, - const phaseModel& phase2 -) -: - interfaceDict_(interfaceDict), - alpha1_(alpha1), - phase1_(phase1), - phase2_(phase2) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::dragModel::~dragModel() -{} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/interfacialModels/dragModels/dragModel/dragModel.H b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/interfacialModels/dragModels/dragModel/dragModel.H deleted file mode 100644 index 54791695d5b6e9c47d594cf7229ed9999a1f8e27..0000000000000000000000000000000000000000 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/interfacialModels/dragModels/dragModel/dragModel.H +++ /dev/null @@ -1,135 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 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::dragModel - -Description - -SourceFiles - dragModel.C - newDragModel.C - -\*---------------------------------------------------------------------------*/ - -#ifndef dragModel_H -#define dragModel_H - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#include "dictionary.H" -#include "phaseModel.H" -#include "runTimeSelectionTables.H" - -namespace Foam -{ - -/*---------------------------------------------------------------------------*\ - Class dragModel Declaration -\*---------------------------------------------------------------------------*/ - -class dragModel -{ -protected: - - // Protected data - - const dictionary& interfaceDict_; - const volScalarField& alpha1_; - const phaseModel& phase1_; - const phaseModel& phase2_; - - -public: - - //- Runtime type information - TypeName("dragModel"); - - - // Declare runtime construction - - declareRunTimeSelectionTable - ( - autoPtr, - dragModel, - dictionary, - ( - const dictionary& interfaceDict, - const volScalarField& alpha1, - const phaseModel& phase1, - const phaseModel& phase2 - ), - (interfaceDict, alpha1, phase1, phase2) - ); - - - // Constructors - - dragModel - ( - const dictionary& interfaceDict, - const volScalarField& alpha1, - const phaseModel& phase1, - const phaseModel& phase2 - ); - - - //- Destructor - virtual ~dragModel(); - - - // Selectors - - static autoPtr<dragModel> New - ( - const dictionary& interfaceDict, - const volScalarField& alpha1, - const phaseModel& phase1, - const phaseModel& phase2 - ); - - - // Member Functions - - //- the dragfunction K used in the momentum eq. - // ddt(alpha1*rho1*U1) + ... = ... alpha1*alpha2*K*(U1-U2) - // ddt(alpha2*rho2*U2) + ... = ... alpha1*alpha2*K*(U2-U1) - // ********************************** NB! ***************************** - // for numerical reasons alpha1 and alpha2 has been - // extracted from the dragFunction K, - // so you MUST divide K by alpha1*alpha2 when implemnting the drag - // function - // ********************************** NB! ***************************** - virtual tmp<volScalarField> K(const volScalarField& Ur) const = 0; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/interfacialModels/dragModels/dragModel/newDragModel.C b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/interfacialModels/dragModels/dragModel/newDragModel.C deleted file mode 100644 index 9159b287849963cdd03963567beccf66753b32a6..0000000000000000000000000000000000000000 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/interfacialModels/dragModels/dragModel/newDragModel.C +++ /dev/null @@ -1,65 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 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 "dragModel.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -Foam::autoPtr<Foam::dragModel> Foam::dragModel::New -( - const dictionary& interfaceDict, - const volScalarField& alpha1, - const phaseModel& phase1, - const phaseModel& phase2 -) -{ - word dragModelType - ( - interfaceDict.lookup(phase1.name()) - ); - - Info << "Selecting dragModel for phase " - << phase1.name() - << ": " - << dragModelType << endl; - - dictionaryConstructorTable::iterator cstrIter = - dictionaryConstructorTablePtr_->find(dragModelType); - - if (cstrIter == dictionaryConstructorTablePtr_->end()) - { - FatalErrorIn("dragModel::New") - << "Unknown dragModelType type " - << dragModelType << endl << endl - << "Valid dragModel types are : " << endl - << dictionaryConstructorTablePtr_->sortedToc() - << exit(FatalError); - } - - return cstrIter()(interfaceDict, alpha1, phase1, phase2); -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/pEqn.H b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/pEqn.H deleted file mode 100644 index e9211def7f4054b279e3cf16f5c4f1bd938f0dc3..0000000000000000000000000000000000000000 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/pEqn.H +++ /dev/null @@ -1,227 +0,0 @@ -{ - surfaceScalarField alpha1f(fvc::interpolate(alpha1)); - surfaceScalarField alpha2f(scalar(1) - alpha1f); - - rAU1 = 1.0/U1Eqn.A(); - rAU2 = 1.0/U2Eqn.A(); - - surfaceScalarField rAlphaAU1f(fvc::interpolate(alpha1*rAU1)); - surfaceScalarField rAlphaAU2f(fvc::interpolate(alpha2*rAU2)); - - volVectorField HbyA1 - ( - IOobject::groupName("HbyA", phase1.name()), - U1 - ); - HbyA1 = rAU1*U1Eqn.H(); - - volVectorField HbyA2 - ( - IOobject::groupName("HbyA", phase2.name()), - U2 - ); - HbyA2 = rAU2*U2Eqn.H(); - - mrfZones.absoluteFlux(phi1.oldTime()); - mrfZones.absoluteFlux(phi1); - mrfZones.absoluteFlux(phi2.oldTime()); - mrfZones.absoluteFlux(phi2); - - // Phase-1 pressure flux (e.g. due to particle-particle pressure) - surfaceScalarField phiP1 - ( - "phiP1", - fvc::interpolate((1.0/rho1)*rAU1*turbulence1().pPrime()) - *fvc::snGrad(alpha1)*mesh.magSf() - ); - - // Phase-2 pressure flux (e.g. due to particle-particle pressure) - surfaceScalarField phiP2 - ( - "phiP2", - fvc::interpolate((1.0/rho2)*rAU2*turbulence2().pPrime()) - *fvc::snGrad(alpha2)*mesh.magSf() - ); - - surfaceScalarField phiHbyA1 - ( - IOobject::groupName("phiHbyA", phase1.name()), - (fvc::interpolate(HbyA1) & mesh.Sf()) - + fvc::ddtPhiCorr(rAU1, alpha1, U1, phi1) - ); - - surfaceScalarField phiHbyA2 - ( - IOobject::groupName("phiHbyA", phase2.name()), - (fvc::interpolate(HbyA2) & mesh.Sf()) - + fvc::ddtPhiCorr(rAU2, alpha2, U2, phi2) - ); - - phi = alpha1f*phiHbyA1 + alpha2f*phiHbyA2; - mrfZones.relativeFlux(phi); - - phiHbyA1 += - ( - fvc::interpolate((1.0/rho1)*rAU1*dragCoeff)*phi2 - - phiP1 - + rAlphaAU1f*(g & mesh.Sf()) - ); - mrfZones.relativeFlux(phiHbyA1); - - phiHbyA2 += - ( - fvc::interpolate((1.0/rho2)*rAU2*dragCoeff)*phi1 - - phiP2 - + rAlphaAU2f*(g & mesh.Sf()) - ); - mrfZones.relativeFlux(phiHbyA2); - - mrfZones.relativeFlux(phi1.oldTime()); - mrfZones.relativeFlux(phi1); - mrfZones.relativeFlux(phi2.oldTime()); - mrfZones.relativeFlux(phi2); - - surfaceScalarField phiHbyA("phiHbyA", alpha1f*phiHbyA1 + alpha2f*phiHbyA2); - - HbyA1 += (1.0/rho1)*rAU1*dragCoeff*U2; - HbyA2 += (1.0/rho2)*rAU2*dragCoeff*U1; - - surfaceScalarField Dp - ( - "Dp", - mag - ( - alpha1f*rAlphaAU1f/fvc::interpolate(rho1) - + alpha2f*rAlphaAU2f/fvc::interpolate(rho2) - ) - ); - - tmp<fvScalarMatrix> pEqnComp1; - tmp<fvScalarMatrix> pEqnComp2; - - if (pimple.transonic()) - { - surfaceScalarField phid1 - ( - IOobject::groupName("phid", phase1.name()), - fvc::interpolate(psi1)*phi1 - ); - surfaceScalarField phid2 - ( - IOobject::groupName("phid", phase2.name()), - fvc::interpolate(psi2)*phi2 - ); - - pEqnComp1 = - fvc::ddt(rho1) - + fvc::div(phi1, rho1) - fvc::Sp(fvc::div(phi1), rho1) - + correction - ( - psi1*fvm::ddt(p) - + fvm::div(phid1, p) - fvm::Sp(fvc::div(phid1), p) - ); - deleteDemandDrivenData(pEqnComp1().faceFluxCorrectionPtr()); - pEqnComp1().relax(); - - pEqnComp2 = - fvc::ddt(rho2) - + fvc::div(phi2, rho2) - fvc::Sp(fvc::div(phi2), rho2) - + correction - ( - psi2*fvm::ddt(p) - + fvm::div(phid2, p) - fvm::Sp(fvc::div(phid2), p) - ); - deleteDemandDrivenData(pEqnComp2().faceFluxCorrectionPtr()); - pEqnComp2().relax(); - } - else - { - pEqnComp1 = - fvc::ddt(rho1) + psi1*correction(fvm::ddt(p)) - + fvc::div(phi1, rho1) - fvc::Sp(fvc::div(phi1), rho1); - - pEqnComp2 = - fvc::ddt(rho2) + psi2*correction(fvm::ddt(p)) - + fvc::div(phi2, rho2) - fvc::Sp(fvc::div(phi2), rho2); - } - - // Cache p prior to solve for density update - volScalarField p_0(p); - - while (pimple.correctNonOrthogonal()) - { - fvScalarMatrix pEqnIncomp - ( - fvc::div(phiHbyA) - - fvm::laplacian(Dp, p) - ); - - solve - ( - ( - (alpha1/rho1)*pEqnComp1() - + (alpha2/rho2)*pEqnComp2() - ) - + pEqnIncomp, - mesh.solver(p.select(pimple.finalInnerIter())) - ); - - if (pimple.finalNonOrthogonalIter()) - { - surfaceScalarField mSfGradp(pEqnIncomp.flux()/Dp); - - phi1 = phiHbyA1 + rAlphaAU1f*mSfGradp/fvc::interpolate(rho1); - phi2 = phiHbyA2 + rAlphaAU2f*mSfGradp/fvc::interpolate(rho2); - phi = alpha1f*phi1 + alpha2f*phi2; - - dgdt = - ( - pos(alpha2)*(pEqnComp2 & p)/rho2 - - pos(alpha1)*(pEqnComp1 & p)/rho1 - ); - - p.relax(); - mSfGradp = pEqnIncomp.flux()/Dp; - - U1 = HbyA1 - + fvc::reconstruct - ( - rAlphaAU1f - *( - (g & mesh.Sf()) - + mSfGradp/fvc::interpolate(rho1) - ) - - phiP1 - ); - U1.correctBoundaryConditions(); - - U2 = HbyA2 - + fvc::reconstruct - ( - rAlphaAU2f - *( - (g & mesh.Sf()) - + mSfGradp/fvc::interpolate(rho2) - ) - - phiP2 - ); - U2.correctBoundaryConditions(); - - U = fluid.U(); - } - } - - p = max(p, pMin); - - // Update densities from change in p - rho1 += psi1*(p - p_0); - rho2 += psi2*(p - p_0); - - K1 = 0.5*magSqr(U1); - K2 = 0.5*magSqr(U2); - - if (thermo1.dpdt() || thermo2.dpdt()) - { - dpdt = fvc::ddt(p); - } -} diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/radialModel/radialModel/newRadialModel.C b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/radialModel/radialModel/newRadialModel.C deleted file mode 100644 index aa79335145b31dab7501b336fa3df44a2e06f452..0000000000000000000000000000000000000000 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/radialModel/radialModel/newRadialModel.C +++ /dev/null @@ -1,60 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 2011 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 "radialModel.H" - -// * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * * // - -Foam::autoPtr<Foam::kineticTheoryModels::radialModel> -Foam::kineticTheoryModels::radialModel::New -( - const dictionary& dict -) -{ - word radialModelType(dict.lookup("radialModel")); - - Info<< "Selecting radialModel " - << radialModelType << endl; - - dictionaryConstructorTable::iterator cstrIter = - dictionaryConstructorTablePtr_->find(radialModelType); - - if (cstrIter == dictionaryConstructorTablePtr_->end()) - { - FatalError - << "radialModel::New(const dictionary&) : " << endl - << " unknown radialModelType type " - << radialModelType - << ", constructor not in hash table" << endl << endl - << " Valid radialModelType types are :" << endl; - Info<< dictionaryConstructorTablePtr_->sortedToc() - << abort(FatalError); - } - - return autoPtr<radialModel>(cstrIter()(dict)); -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/readPPProperties.H b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/readPPProperties.H deleted file mode 100644 index 4f32564a482f0ae76245dcb76b256aefb1ad0c3b..0000000000000000000000000000000000000000 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/readPPProperties.H +++ /dev/null @@ -1,31 +0,0 @@ - IOdictionary ppProperties - ( - IOobject - ( - "ppProperties", - runTime.constant(), - mesh, - IOobject::MUST_READ, - IOobject::NO_WRITE - ) - ); - - scalar preAlphaExp - ( - readScalar(ppProperties.lookup("preAlphaExp")) - ); - - scalar alphaMax - ( - readScalar(ppProperties.lookup("alphaMax")) - ); - - scalar expMax - ( - readScalar(ppProperties.lookup("expMax")) - ); - - dimensionedScalar g0 - ( - ppProperties.lookup("g0") - ); diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/readTwoPhaseEulerFoamControls.H b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/readTwoPhaseEulerFoamControls.H deleted file mode 100644 index 29353a8fa1deea189e0fa017c28ba5685013245c..0000000000000000000000000000000000000000 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/readTwoPhaseEulerFoamControls.H +++ /dev/null @@ -1,7 +0,0 @@ - #include "readTimeControls.H" - #include "alphaControls.H" - - Switch implicitPhasePressure - ( - alphaControls.lookupOrDefault<Switch>("implicitPhasePressure", false) - ); diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/write.H b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/write.H deleted file mode 100644 index 303661beb6492a7e608f6d5e2385c824bf8dc55f..0000000000000000000000000000000000000000 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/write.H +++ /dev/null @@ -1,17 +0,0 @@ - if (runTime.outputTime()) - { - volVectorField Ur - ( - IOobject - ( - "Ur", - runTime.timeName(), - mesh, - IOobject::NO_READ, - IOobject::AUTO_WRITE - ), - U1 - U2 - ); - - runTime.write(); - } diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/Allwclean b/applications/solvers/multiphase/twoPhaseEulerFoam/Allwclean index cc138bc068e6882e24eb995668e00a0fc18d3e58..8af1402435a2178688f40851c00f4059d8fe6ecd 100755 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/Allwclean +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/Allwclean @@ -2,9 +2,9 @@ cd ${0%/*} || exit 1 # run from this directory set -x -wclean libso phaseModel +wclean libso twoPhaseSystem wclean libso interfacialModels -wclean libso kineticTheoryModels +wclean libso phaseIncompressibleTurbulenceModels wclean # ----------------------------------------------------------------- end-of-file diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/Allwmake b/applications/solvers/multiphase/twoPhaseEulerFoam/Allwmake index 29294d166a947be8f5f391168d9e4f67faeb8718..6ba04af78975101142523bd6ce3d4d82229fd1e6 100755 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/Allwmake +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/Allwmake @@ -2,9 +2,10 @@ cd ${0%/*} || exit 1 # run from this directory set -x -wmake libso phaseModel +wmakeLnInclude interfacialModels +wmake libso twoPhaseSystem wmake libso interfacialModels -wmake libso kineticTheoryModels +wmake libso phaseIncompressibleTurbulenceModels wmake # ----------------------------------------------------------------- end-of-file diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/CourantNo.H b/applications/solvers/multiphase/twoPhaseEulerFoam/CourantNo.H similarity index 95% rename from applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/CourantNo.H rename to applications/solvers/multiphase/twoPhaseEulerFoam/CourantNo.H index 4bfc58978e0d1db1f81a660fb2b7ad64e87de8d9..b09f5e7ac205727d6e0f433807681ae8d35bbdf6 100644 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/CourantNo.H +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/CourantNo.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/EEqns.H b/applications/solvers/multiphase/twoPhaseEulerFoam/EEqns.H similarity index 100% rename from applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/EEqns.H rename to applications/solvers/multiphase/twoPhaseEulerFoam/EEqns.H diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/Make/options b/applications/solvers/multiphase/twoPhaseEulerFoam/Make/options index f4a6229714bfad7927758e93b95b292ebd5b672f..e178081548d29db5d3f948a6cb8feafc91e365c8 100644 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/Make/options +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/Make/options @@ -1,16 +1,23 @@ EXE_INC = \ + -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ -I$(LIB_SRC)/finiteVolume/lnInclude \ -I$(LIB_SRC)/transportModels/incompressible/lnInclude \ - -IturbulenceModel \ - -IkineticTheoryModels/lnInclude \ + -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \ + -I$(LIB_SRC)/TurbulenceModels/incompressible/lnInclude \ + -I$(LIB_SRC)/TurbulenceModels/phaseIncompressible/lnInclude \ + -IphaseIncompressibleTurbulenceModels/lnInclude \ -IinterfacialModels/lnInclude \ - -IphaseModel/lnInclude \ + -ItwoPhaseSystem/lnInclude \ -Iaveraging EXE_LIBS = \ - -lEulerianInterfacialModels \ - -lfiniteVolume \ - -lmeshTools \ + -lfluidThermophysicalModels \ + -lspecie \ + -lturbulenceModels \ + -lincompressibleTurbulenceModels \ + -lphaseIncompressibleTurbulenceModels \ -lincompressibleTransportModels \ - -lphaseModel \ - -lkineticTheoryModel + -lcompressibleTwoPhaseSystem \ + -lcompressibleEulerianInterfacialModels \ + -lfiniteVolume \ + -lmeshTools diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/UEqns.H b/applications/solvers/multiphase/twoPhaseEulerFoam/UEqns.H index 6fae832a217a46e22ea28db2d2a8e13618fdf4ef..dea48be335460a4e698b13fa867467eedb0af76c 100644 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/UEqns.H +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/UEqns.H @@ -1,99 +1,61 @@ +mrfZones.correctBoundaryVelocity(U1); +mrfZones.correctBoundaryVelocity(U2); +mrfZones.correctBoundaryVelocity(U); + fvVectorMatrix U1Eqn(U1, U1.dimensions()*dimVol/dimTime); fvVectorMatrix U2Eqn(U2, U2.dimensions()*dimVol/dimTime); -{ - { - volTensorField gradU1T(T(fvc::grad(U1))); +volScalarField dragCoeff(fluid.dragCoeff()); - if (kineticTheory.on()) - { - kineticTheory.solve(gradU1T); - nuEff1 = kineticTheory.mu1()/rho1; - } - else // If not using kinetic theory is using Ct model - { - nuEff1 = sqr(Ct)*nut2 + nu1; - } +{ + volVectorField liftForce(fluid.liftForce(U)); - volTensorField Rc1 + { + U1Eqn = ( - "Rc1", - (((2.0/3.0)*I)*nuEff1)*tr(gradU1T) - nuEff1*gradU1T - ); + fvm::ddt(alpha1, U1) + + fvm::div(alphaPhi1, U1) - if (kineticTheory.on()) - { - Rc1 -= ((kineticTheory.lambda()/rho1)*tr(gradU1T))*tensor(I); - } + // Compressibity correction + - fvm::Sp(fvc::ddt(alpha1) + fvc::div(alphaPhi1), U1) - surfaceScalarField phiR1 - ( - -fvc::interpolate(nuEff1)*mesh.magSf()*fvc::snGrad(alpha1) - /fvc::interpolate(alpha1 + scalar(0.001)) - ); - - U1Eqn = - ( - (scalar(1) + Cvm*rho2*alpha2/rho1)* + + fluid.Cvm()*rho2*alpha1*alpha2/rho1* ( fvm::ddt(U1) - + fvm::div(phi1, U1, "div(phi1,U1)") + + fvm::div(phi1, U1) - fvm::Sp(fvc::div(phi1), U1) ) - - fvm::laplacian(nuEff1, U1) - + fvc::div(Rc1) - - + fvm::div(phiR1, U1, "div(phi1,U1)") - - fvm::Sp(fvc::div(phiR1), U1) - + (fvc::grad(alpha1)/(fvc::average(alpha1) + scalar(0.001)) & Rc1) + + turbulence1->divDevReff(U1) == - // g // Buoyancy term transfered to p-equation - - fvm::Sp(alpha2/rho1*K, U1) - //+ alpha2/rho1*K*U2 // Explicit drag transfered to p-equation - - alpha2/rho1*(liftCoeff - Cvm*rho2*DDtU2) + - fvm::Sp(dragCoeff/rho1, U1) + - alpha1*alpha2/rho1*(liftForce - fluid.Cvm()*rho2*DDtU2) ); - mrfZones.addCoriolis(scalar(1) + Cvm*rho2*alpha2/rho1, U1Eqn); + mrfZones.addCoriolis(alpha1*(1 + fluid.Cvm()*rho2*alpha2/rho1), U1Eqn); U1Eqn.relax(); } { - volTensorField gradU2T(T(fvc::grad(U2))); - volTensorField Rc2 + U2Eqn = ( - "Rc2", - (((2.0/3.0)*I)*nuEff2)*tr(gradU2T) - nuEff2*gradU2T - ); + fvm::ddt(alpha2, U2) + + fvm::div(alphaPhi2, U2) - surfaceScalarField phiR2 - ( - -fvc::interpolate(nuEff2)*mesh.magSf()*fvc::snGrad(alpha2) - /fvc::interpolate(alpha2 + scalar(0.001)) - ); + // Compressibity correction + - fvm::Sp(fvc::ddt(alpha2) + fvc::div(alphaPhi2), U2) - U2Eqn = - ( - (scalar(1) + Cvm*rho2*alpha1/rho2)* + + fluid.Cvm()*rho2*alpha1*alpha2/rho2* ( fvm::ddt(U2) - + fvm::div(phi2, U2, "div(phi2,U2)") + + fvm::div(phi2, U2) - fvm::Sp(fvc::div(phi2), U2) ) - - - fvm::laplacian(nuEff2, U2) - + fvc::div(Rc2) - - + fvm::div(phiR2, U2, "div(phi2,U2)") - - fvm::Sp(fvc::div(phiR2), U2) - - + (fvc::grad(alpha2)/(fvc::average(alpha2) + scalar(0.001)) & Rc2) + + turbulence2->divDevReff(U2) == - // g // Buoyancy term transfered to p-equation - - fvm::Sp(alpha1/rho2*K, U2) - //+ alpha1/rho2*K*U1 // Explicit drag transfered to p-equation - + alpha1/rho2*(liftCoeff + Cvm*rho2*DDtU1) + - fvm::Sp(dragCoeff/rho2, U2) + + alpha1*alpha2/rho2*(liftForce + fluid.Cvm()*rho2*DDtU1) ); - mrfZones.addCoriolis(scalar(1) + Cvm*rho2*alpha1/rho2, U2Eqn); + mrfZones.addCoriolis(alpha2*(1 + fluid.Cvm()*rho2*alpha1/rho2), U2Eqn); U2Eqn.relax(); } } diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/alphaEqn.H b/applications/solvers/multiphase/twoPhaseEulerFoam/alphaEqn.H index ae21059446ea05a801173cfa2adc8db7e266e7b8..77a04592e329b4f25babaf8edbc0977668eb5c3f 100644 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/alphaEqn.H +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/alphaEqn.H @@ -1,20 +1,75 @@ { - word alphaScheme("div(phi,alpha1)"); - word alpharScheme("div(phir,alpha1)"); + word alphaScheme("div(phi," + alpha1.name() + ')'); + word alpharScheme("div(phir," + alpha1.name() + ')'); surfaceScalarField phic("phic", phi); surfaceScalarField phir("phir", phi1 - phi2); - if (g0.value() > 0.0) + surfaceScalarField alpha1f(fvc::interpolate(max(alpha1, scalar(0)))); + + tmp<surfaceScalarField> pPrimeByA; + + if (implicitPhasePressure) { - surfaceScalarField alpha1f(fvc::interpolate(alpha1)); - surfaceScalarField phipp(ppMagf*fvc::snGrad(alpha1)*mesh.magSf()); - phir += phipp; - phic += alpha1f*phipp; + pPrimeByA = + fvc::interpolate((1.0/rho1)*rAU1*turbulence1().pPrime()) + + fvc::interpolate((1.0/rho2)*rAU2*turbulence2().pPrime()); + + surfaceScalarField phiP + ( + pPrimeByA()*fvc::snGrad(alpha1, "bounded")*mesh.magSf() + ); + + phic += alpha1f*phiP; + phir += phiP; } for (int acorr=0; acorr<nAlphaCorr; acorr++) { + volScalarField::DimensionedInternalField Sp + ( + IOobject + ( + "Sp", + runTime.timeName(), + mesh + ), + mesh, + dimensionedScalar("Sp", dgdt.dimensions(), 0.0) + ); + + volScalarField::DimensionedInternalField Su + ( + IOobject + ( + "Su", + runTime.timeName(), + mesh + ), + // Divergence term is handled explicitly to be + // consistent with the explicit transport solution + fvc::div(phi)*min(alpha1, scalar(1)) + ); + + forAll(dgdt, celli) + { + if (dgdt[celli] > 0.0 && alpha1[celli] > 0.0) + { + Sp[celli] -= dgdt[celli]*alpha1[celli]; + Su[celli] += dgdt[celli]*alpha1[celli]; + } + else if (dgdt[celli] < 0.0 && alpha1[celli] < 1.0) + { + Sp[celli] += dgdt[celli]*(1.0 - alpha1[celli]); + } + } + + dimensionedScalar totalDeltaT = runTime.deltaT(); + if (nAlphaSubCycles > 1) + { + alphaPhi1 = dimensionedScalar("0", alphaPhi1.dimensions(), 0); + } + for ( subCycle<volScalarField> alphaSubCycle(alpha1, nAlphaSubCycles); @@ -31,7 +86,7 @@ ) + fvc::flux ( - -fvc::flux(-phir, alpha2, alpharScheme), + -fvc::flux(-phir, scalar(1) - alpha1, alpharScheme), alpha1, alpharScheme ) @@ -39,39 +94,41 @@ MULES::explicitSolve ( + geometricOneField(), alpha1, phi, alphaPhic1, - (g0.value() > 0 ? alphaMax : 1), + Sp, + Su, + 1, 0 ); + + if (nAlphaSubCycles > 1) + { + alphaPhi1 += (runTime.deltaT()/totalDeltaT)*alphaPhic1; + } + else + { + alphaPhi1 = alphaPhic1; + } } - if (g0.value() > 0) + if (implicitPhasePressure) { - surfaceScalarField alpha1f(fvc::interpolate(alpha1)); - - ppMagf = - rAU1f/(alpha1f + scalar(0.0001)) - *(g0/rho1)*min(exp(preAlphaExp*(alpha1f - alphaMax)), expMax); - fvScalarMatrix alpha1Eqn ( fvm::ddt(alpha1) - fvc::ddt(alpha1) - - fvm::laplacian - ( - alpha1f*ppMagf, - alpha1, - "laplacian(alpha1PpMag,alpha1)" - ) + - fvm::laplacian(alpha1f*pPrimeByA, alpha1, "bounded") ); alpha1Eqn.relax(); alpha1Eqn.solve(); - #include "packingLimiter.H" + alphaPhi1 += alpha1Eqn.flux(); } + alphaPhi2 = phi - alphaPhi1; alpha2 = scalar(1) - alpha1; Info<< "Dispersed phase volume fraction = " @@ -82,4 +139,4 @@ } } -rho = alpha1*rho1 + alpha2*rho2; +rho = fluid.rho(); diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/createFields.H b/applications/solvers/multiphase/twoPhaseEulerFoam/createFields.H index 314d9b55ea6d8a8edc0b90eb1ea11a2fad806df2..f279445cf639bc7992037f31a6f4b92ed487c714 100644 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/createFields.H +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/createFields.H @@ -1,82 +1,46 @@ - Info<< "Reading transportProperties\n" << endl; + Info<< "Creating twoPhaseSystem\n" << endl; - IOdictionary transportProperties + twoPhaseSystem fluid(mesh); + + phaseModel& phase1 = fluid.phase1(); + phaseModel& phase2 = fluid.phase2(); + + volScalarField& alpha1 = phase1; + volScalarField& alpha2 = phase2; + + volVectorField& U1 = phase1.U(); + surfaceScalarField& phi1 = phase1.phi(); + surfaceScalarField alphaPhi1 ( - IOobject - ( - "transportProperties", - runTime.constant(), - mesh, - IOobject::MUST_READ, - IOobject::NO_WRITE - ) + IOobject::groupName("alphaPhi", phase1.name()), + fvc::interpolate(alpha1)*phi1 ); - autoPtr<phaseModel> phase1 = phaseModel::New + volVectorField& U2 = phase2.U(); + surfaceScalarField& phi2 = phase2.phi(); + surfaceScalarField alphaPhi2 ( - mesh, - transportProperties, - "1" + IOobject::groupName("alphaPhi", phase2.name()), + fvc::interpolate(alpha2)*phi2 ); - autoPtr<phaseModel> phase2 = phaseModel::New + dimensionedScalar pMin ( - mesh, - transportProperties, - "2" + "pMin", + dimPressure, + fluid.lookup("pMin") ); - volVectorField& U1 = phase1->U(); - surfaceScalarField& phi1 = phase1->phi(); - const dimensionedScalar& rho1 = phase1->rho(); - const dimensionedScalar& nu1 = phase1->nu(); + rhoThermo& thermo1 = phase1.thermo(); + rhoThermo& thermo2 = phase2.thermo(); - volVectorField& U2 = phase2->U(); - surfaceScalarField& phi2 = phase2->phi(); - const dimensionedScalar& rho2 = phase2->rho(); - const dimensionedScalar& nu2 = phase2->nu(); + volScalarField& p = thermo1.p(); - Info<< "Reading field alpha1\n" << endl; - volScalarField alpha1 - ( - IOobject - ( - "alpha1", - runTime.timeName(), - mesh, - IOobject::MUST_READ, - IOobject::AUTO_WRITE - ), - mesh - ); - - volScalarField alpha2 - ( - IOobject - ( - "alpha2", - runTime.timeName(), - mesh, - IOobject::NO_READ, - IOobject::NO_WRITE - ), - scalar(1) - alpha1 - //,alpha1.boundaryField().types() - ); + volScalarField& rho1 = thermo1.rho(); + const volScalarField& psi1 = thermo1.psi(); - Info<< "Reading field p\n" << endl; - volScalarField p - ( - IOobject - ( - "p", - runTime.timeName(), - mesh, - IOobject::MUST_READ, - IOobject::AUTO_WRITE - ), - mesh - ); + volScalarField& rho2 = thermo2.rho(); + const volScalarField& psi2 = thermo2.psi(); volVectorField U ( @@ -88,28 +52,7 @@ IOobject::NO_READ, IOobject::AUTO_WRITE ), - alpha1*U1 + alpha2*U2 - ); - - dimensionedScalar Cvm - ( - "Cvm", - dimless, - transportProperties.lookup("Cvm") - ); - - dimensionedScalar Cl - ( - "Cl", - dimless, - transportProperties.lookup("Cl") - ); - - dimensionedScalar Ct - ( - "Ct", - dimless, - transportProperties.lookup("Ct") + fluid.U() ); surfaceScalarField phi @@ -122,7 +65,7 @@ IOobject::NO_READ, IOobject::AUTO_WRITE ), - fvc::interpolate(alpha1)*phi1 + fvc::interpolate(alpha2)*phi2 + fluid.phi() ); volScalarField rho @@ -131,13 +74,13 @@ ( "rho", runTime.timeName(), - mesh + mesh, + IOobject::NO_READ, + IOobject::AUTO_WRITE ), - alpha1*rho1 + alpha2*rho2 + fluid.rho() ); - #include "createRASTurbulence.H" - Info<< "Calculating field DDtU1 and DDtU2\n" << endl; volVectorField DDtU1 @@ -158,75 +101,25 @@ Info<< "Calculating field g.h\n" << endl; volScalarField gh("gh", g & mesh.C()); - IOdictionary interfacialProperties + volScalarField rAU1 ( IOobject ( - "interfacialProperties", - runTime.constant(), + IOobject::groupName("rAU", phase1.name()), + runTime.timeName(), mesh, - IOobject::MUST_READ, + IOobject::NO_READ, IOobject::NO_WRITE - ) - ); - - autoPtr<dragModel> drag1 = dragModel::New - ( - interfacialProperties, - alpha1, - phase1, - phase2 - ); - - autoPtr<dragModel> drag2 = dragModel::New - ( - interfacialProperties, - alpha2, - phase2, - phase1 - ); - - word dragPhase("blended"); - if (interfacialProperties.found("dragPhase")) - { - dragPhase = word(interfacialProperties.lookup("dragPhase")); - - bool validDrag = - dragPhase == "1" || dragPhase == "2" || dragPhase == "blended"; - - if (!validDrag) - { - FatalErrorIn(args.executable()) - << "invalid dragPhase " << dragPhase - << exit(FatalError); - } - } - - dimensionedScalar residualSlip - ( - dimensionedScalar::lookupOrDefault - ( - "residualSlip", - interfacialProperties, - 0, - dimVelocity - ) - ); - - Info << "dragPhase is " << dragPhase << endl; - kineticTheoryModel kineticTheory - ( - phase1, - U2, - alpha1, - drag1 + ), + mesh, + dimensionedScalar("zero", dimensionSet(0, 0, 1, 0, 0), 0.0) ); - surfaceScalarField rAU1f + volScalarField rAU2 ( IOobject ( - "rAU1f", + IOobject::groupName("rAU", phase2.name()), runTime.timeName(), mesh, IOobject::NO_READ, @@ -236,21 +129,57 @@ dimensionedScalar("zero", dimensionSet(0, 0, 1, 0, 0), 0.0) ); - surfaceScalarField ppMagf + label pRefCell = 0; + scalar pRefValue = 0.0; + setRefCell(p, mesh.solutionDict().subDict("PIMPLE"), pRefCell, pRefValue); + + + volScalarField dgdt + ( + pos(alpha2)*fvc::div(phi)/max(alpha2, scalar(0.0001)) + ); + + + Info<< "Creating field dpdt\n" << endl; + volScalarField dpdt ( IOobject ( - "ppMagf", + "dpdt", runTime.timeName(), - mesh, - IOobject::NO_READ, - IOobject::NO_WRITE + mesh ), mesh, - dimensionedScalar("zero", dimensionSet(0, 2, -1, 0, 0), 0.0) + dimensionedScalar("dpdt", p.dimensions()/dimTime, 0) ); - label pRefCell = 0; - scalar pRefValue = 0.0; - setRefCell(p, mesh.solutionDict().subDict("PIMPLE"), pRefCell, pRefValue); + Info<< "Creating field kinetic energy K\n" << endl; + volScalarField K1(IOobject::groupName("K", phase1.name()), 0.5*magSqr(U1)); + volScalarField K2(IOobject::groupName("K", phase2.name()), 0.5*magSqr(U2)); + + autoPtr<PhaseIncompressibleTurbulenceModel<phaseModel> > + turbulence1 + ( + PhaseIncompressibleTurbulenceModel<phaseModel>::New + ( + alpha1, + U1, + alphaPhi1, + phi1, + phase1 + ) + ); + + autoPtr<PhaseIncompressibleTurbulenceModel<phaseModel> > + turbulence2 + ( + PhaseIncompressibleTurbulenceModel<phaseModel>::New + ( + alpha2, + U2, + alphaPhi2, + phi2, + phase2 + ) + ); diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/createRASTurbulence.H b/applications/solvers/multiphase/twoPhaseEulerFoam/createRASTurbulence.H deleted file mode 100644 index bacd8356557a4b1ab9bce026ff00943b148659c8..0000000000000000000000000000000000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/createRASTurbulence.H +++ /dev/null @@ -1,178 +0,0 @@ - IOdictionary RASProperties - ( - IOobject - ( - "RASProperties", - runTime.constant(), - mesh, - IOobject::MUST_READ_IF_MODIFIED, - IOobject::NO_WRITE - ) - ); - - - Switch turbulence - ( - RASProperties.lookup("turbulence") - ); - - dictionary kEpsilonDict - ( - RASProperties.subDictPtr("kEpsilonCoeffs") - ); - - dimensionedScalar Cmu - ( - dimensionedScalar::lookupOrAddToDict - ( - "Cmu", - kEpsilonDict, - 0.09 - ) - ); - - dimensionedScalar C1 - ( - dimensionedScalar::lookupOrAddToDict - ( - "C1", - kEpsilonDict, - 1.44 - ) - ); - - dimensionedScalar C2 - ( - dimensionedScalar::lookupOrAddToDict - ( - "C2", - kEpsilonDict, - 1.92 - ) - ); - - dimensionedScalar alpha1k - ( - dimensionedScalar::lookupOrAddToDict - ( - "alpha1k", - kEpsilonDict, - 1.0 - ) - ); - - dimensionedScalar alpha1Eps - ( - dimensionedScalar::lookupOrAddToDict - ( - "alpha1Eps", - kEpsilonDict, - 0.76923 - ) - ); - - dictionary wallFunctionDict - ( - RASProperties.subDictPtr("wallFunctionCoeffs") - ); - - dimensionedScalar kappa - ( - dimensionedScalar::lookupOrAddToDict - ( - "kappa", - wallFunctionDict, - 0.41 - ) - ); - - dimensionedScalar E - ( - dimensionedScalar::lookupOrAddToDict - ( - "E", - wallFunctionDict, - 9.8 - ) - ); - - if (RASProperties.lookupOrDefault("printCoeffs", false)) - { - Info<< "kEpsilonCoeffs" << kEpsilonDict << nl - << "wallFunctionCoeffs" << wallFunctionDict << endl; - } - - - nearWallDist y(mesh); - - - Info<< "Reading field k\n" << endl; - volScalarField k - ( - IOobject - ( - "k", - runTime.timeName(), - mesh, - IOobject::MUST_READ, - IOobject::AUTO_WRITE - ), - mesh - ); - - Info<< "Reading field epsilon\n" << endl; - volScalarField epsilon - ( - IOobject - ( - "epsilon", - runTime.timeName(), - mesh, - IOobject::MUST_READ, - IOobject::AUTO_WRITE - ), - mesh - ); - - - Info<< "Calculating field nut2\n" << endl; - volScalarField nut2 - ( - IOobject - ( - "nut2", - runTime.timeName(), - mesh, - IOobject::NO_READ, - IOobject::AUTO_WRITE - ), - Cmu*sqr(k)/epsilon - ); - - Info<< "Calculating field nuEff1\n" << endl; - volScalarField nuEff1 - ( - IOobject - ( - "nuEff1", - runTime.timeName(), - mesh, - IOobject::NO_READ, - IOobject::NO_WRITE - ), - sqr(Ct)*nut2 + nu1 - ); - - Info<< "Calculating field nuEff2\n" << endl; - volScalarField nuEff2 - ( - IOobject - ( - "nuEff2", - runTime.timeName(), - mesh, - IOobject::NO_READ, - IOobject::NO_WRITE - ), - nut2 + nu2 - ); diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/Make/files b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/Make/files index 8d23cb95501ca817bd2e4e85715828025f76ebcf..43c0f9b2a9df4708c2e2386ec8a640acf5413a56 100644 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/Make/files +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/Make/files @@ -8,4 +8,8 @@ dragModels/Gibilaro/Gibilaro.C dragModels/WenYu/WenYu.C dragModels/SyamlalOBrien/SyamlalOBrien.C -LIB = $(FOAM_LIBBIN)/libEulerianInterfacialModels +heatTransferModels/heatTransferModel/heatTransferModel.C +heatTransferModels/heatTransferModel/newHeatTransferModel.C +heatTransferModels/RanzMarshall/RanzMarshall.C + +LIB = $(FOAM_LIBBIN)/libcompressibleEulerianInterfacialModels diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/Make/options b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/Make/options index 42c2cb54c90ca034ab79c760543ec4f3a2192f45..e7e60696ec115958097f3014006ebf9c93889980 100644 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/Make/options +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/Make/options @@ -1,6 +1,10 @@ EXE_INC = \ + -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ + -I$(LIB_SRC)/transportModels/incompressible/transportModel \ -I$(LIB_SRC)/finiteVolume/lnInclude \ - -I../phaseModel/lnInclude + -I../twoPhaseSystem/lnInclude LIB_LIBS = \ - -lphaseModel + -lcompressibleTwoPhaseSystem \ + -lfluidThermophysicalModels \ + -lspecie diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/Ergun/Ergun.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/Ergun/Ergun.C index e3a7ffd097d848fb8e99ad8135b00a862fe31ae8..ced13ced8f44f1cc9fb00aecfcb713e1e730189a 100644 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/Ergun/Ergun.C +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/Ergun/Ergun.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -29,6 +29,8 @@ License // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // namespace Foam +{ +namespace dragModels { defineTypeNameAndDebug(Ergun, 0); @@ -39,11 +41,12 @@ namespace Foam dictionary ); } +} // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // -Foam::Ergun::Ergun +Foam::dragModels::Ergun::Ergun ( const dictionary& interfaceDict, const volScalarField& alpha1, @@ -57,13 +60,13 @@ Foam::Ergun::Ergun // * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // -Foam::Ergun::~Ergun() +Foam::dragModels::Ergun::~Ergun() {} // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // -Foam::tmp<Foam::volScalarField> Foam::Ergun::K +Foam::tmp<Foam::volScalarField> Foam::dragModels::Ergun::K ( const volScalarField& Ur ) const diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/Ergun/Ergun.H b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/Ergun/Ergun.H index 2a3de8192cc2cf6a4ebd2baaf87ab412b74101e7..75d5de107abae091f778e54e1c658365cf82fa17 100644 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/Ergun/Ergun.H +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/Ergun/Ergun.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -22,7 +22,7 @@ License along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. Class - Foam::Ergun + Foam::dragModels::Ergun Description H, Enwald, E. Peirano, A-E Almstedt @@ -44,6 +44,8 @@ SourceFiles namespace Foam { +namespace dragModels +{ /*---------------------------------------------------------------------------*\ Class Ergun Declaration @@ -84,6 +86,7 @@ public: // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +} // End namespace dragModels } // End namespace Foam // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/Gibilaro/Gibilaro.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/Gibilaro/Gibilaro.C index cbb9fb9adec1e3fe59ad4b8864c22b67311060ab..093b86d70a14be93f703c6e40afcd4fd498fcd46 100644 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/Gibilaro/Gibilaro.C +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/Gibilaro/Gibilaro.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -29,6 +29,8 @@ License // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // namespace Foam +{ +namespace dragModels { defineTypeNameAndDebug(Gibilaro, 0); @@ -39,11 +41,12 @@ namespace Foam dictionary ); } +} // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // -Foam::Gibilaro::Gibilaro +Foam::dragModels::Gibilaro::Gibilaro ( const dictionary& interfaceDict, const volScalarField& alpha1, @@ -57,13 +60,13 @@ Foam::Gibilaro::Gibilaro // * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // -Foam::Gibilaro::~Gibilaro() +Foam::dragModels::Gibilaro::~Gibilaro() {} // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // -Foam::tmp<Foam::volScalarField> Foam::Gibilaro::K +Foam::tmp<Foam::volScalarField> Foam::dragModels::Gibilaro::K ( const volScalarField& Ur ) const diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/Gibilaro/Gibilaro.H b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/Gibilaro/Gibilaro.H index 9be5dd8cf3a476414f1c79ed2beb01c77c8d27d5..2a922c86d91ee171b7e5655d5fad7dc3bdefdf2b 100644 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/Gibilaro/Gibilaro.H +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/Gibilaro/Gibilaro.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -22,7 +22,7 @@ License along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. Class - Foam::Gibilaro + Foam::dragModels::Gibilaro Description H, Enwald, E. Peirano, A-E Almstedt @@ -44,6 +44,8 @@ SourceFiles namespace Foam { +namespace dragModels +{ /*---------------------------------------------------------------------------*\ Class Gibilaro Declaration @@ -84,6 +86,7 @@ public: // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +} // End namespace dragModels } // End namespace Foam // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/GidaspowErgunWenYu/GidaspowErgunWenYu.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/GidaspowErgunWenYu/GidaspowErgunWenYu.C index 5cf712a251bb6e8118b2ca64cb29c7977f9abc5d..deb949de21d048643f92871d05f16a8bb53987d7 100644 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/GidaspowErgunWenYu/GidaspowErgunWenYu.C +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/GidaspowErgunWenYu/GidaspowErgunWenYu.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -29,6 +29,8 @@ License // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // namespace Foam +{ +namespace dragModels { defineTypeNameAndDebug(GidaspowErgunWenYu, 0); @@ -39,11 +41,12 @@ namespace Foam dictionary ); } +} // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // -Foam::GidaspowErgunWenYu::GidaspowErgunWenYu +Foam::dragModels::GidaspowErgunWenYu::GidaspowErgunWenYu ( const dictionary& interfaceDict, const volScalarField& alpha1, @@ -57,21 +60,21 @@ Foam::GidaspowErgunWenYu::GidaspowErgunWenYu // * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // -Foam::GidaspowErgunWenYu::~GidaspowErgunWenYu() +Foam::dragModels::GidaspowErgunWenYu::~GidaspowErgunWenYu() {} // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // -Foam::tmp<Foam::volScalarField> Foam::GidaspowErgunWenYu::K +Foam::tmp<Foam::volScalarField> Foam::dragModels::GidaspowErgunWenYu::K ( const volScalarField& Ur ) const { volScalarField alpha2(max(scalar(1) - alpha1_, scalar(1.0e-6))); - + volScalarField d(phase1_.d()); volScalarField bp(pow(alpha2, -2.65)); - volScalarField Re(max(Ur*phase1_.d()/phase2_.nu(), scalar(1.0e-3))); + volScalarField Re(max(Ur*d/phase2_.nu(), scalar(1.0e-3))); volScalarField Cds ( @@ -83,11 +86,11 @@ Foam::tmp<Foam::volScalarField> Foam::GidaspowErgunWenYu::K return ( pos(alpha2 - 0.8) - *(0.75*Cds*phase2_.rho()*Ur*bp/phase1_.d()) + *(0.75*Cds*phase2_.rho()*Ur*bp/d) + neg(alpha2 - 0.8) *( - 150.0*alpha1_*phase2_.nu()*phase2_.rho()/(sqr(alpha2*phase1_.d())) - + 1.75*phase2_.rho()*Ur/(alpha2*phase1_.d()) + 150.0*alpha1_*phase2_.nu()*phase2_.rho()/(sqr(alpha2*d)) + + 1.75*phase2_.rho()*Ur/(alpha2*d) ) ); } diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/GidaspowErgunWenYu/GidaspowErgunWenYu.H b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/GidaspowErgunWenYu/GidaspowErgunWenYu.H index 64dfdc08ccf9da4cb2a961a750f78ef28f23691b..9c2a25ac0ab4aee941de66a52b0c5b73cd6afe86 100644 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/GidaspowErgunWenYu/GidaspowErgunWenYu.H +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/GidaspowErgunWenYu/GidaspowErgunWenYu.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -22,7 +22,7 @@ License along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. Class - Foam::GidaspowErgunWenYu + Foam::dragModels::GidaspowErgunWenYu Description D. Gidaspow, Multiphase flow and fluidization, @@ -42,6 +42,8 @@ SourceFiles namespace Foam { +namespace dragModels +{ /*---------------------------------------------------------------------------*\ Class GidaspowErgunWenYu Declaration @@ -82,6 +84,7 @@ public: // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +} // End namespace dragModels } // End namespace Foam // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/GidaspowSchillerNaumann/GidaspowSchillerNaumann.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/GidaspowSchillerNaumann/GidaspowSchillerNaumann.C index f6438794f758a1e52289f2190116617738021f2f..c6ebe660929bc902827cb2a6c3b25f58a8312871 100644 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/GidaspowSchillerNaumann/GidaspowSchillerNaumann.C +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/GidaspowSchillerNaumann/GidaspowSchillerNaumann.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -29,6 +29,8 @@ License // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // namespace Foam +{ +namespace dragModels { defineTypeNameAndDebug(GidaspowSchillerNaumann, 0); @@ -39,11 +41,12 @@ namespace Foam dictionary ); } +} // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // -Foam::GidaspowSchillerNaumann::GidaspowSchillerNaumann +Foam::dragModels::GidaspowSchillerNaumann::GidaspowSchillerNaumann ( const dictionary& interfaceDict, const volScalarField& alpha1, @@ -57,13 +60,13 @@ Foam::GidaspowSchillerNaumann::GidaspowSchillerNaumann // * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // -Foam::GidaspowSchillerNaumann::~GidaspowSchillerNaumann() +Foam::dragModels::GidaspowSchillerNaumann::~GidaspowSchillerNaumann() {} // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // -Foam::tmp<Foam::volScalarField> Foam::GidaspowSchillerNaumann::K +Foam::tmp<Foam::volScalarField> Foam::dragModels::GidaspowSchillerNaumann::K ( const volScalarField& Ur ) const @@ -72,7 +75,6 @@ Foam::tmp<Foam::volScalarField> Foam::GidaspowSchillerNaumann::K volScalarField bp(pow(alpha2, -2.65)); volScalarField Re(max(alpha2*Ur*phase1_.d()/phase2_.nu(), scalar(1.0e-3))); - volScalarField Cds ( neg(Re - 1000)*(24.0*(1.0 + 0.15*pow(Re, 0.687))/Re) diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/GidaspowSchillerNaumann/GidaspowSchillerNaumann.H b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/GidaspowSchillerNaumann/GidaspowSchillerNaumann.H index 3199c2eb541cbaa026cfc5503af84cbebd41c63d..dcc07aec6cf51cbbf6f0d4d3ed1f6d8c033e2dee 100644 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/GidaspowSchillerNaumann/GidaspowSchillerNaumann.H +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/GidaspowSchillerNaumann/GidaspowSchillerNaumann.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -22,7 +22,7 @@ License along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. Class - Foam::GidaspowSchillerNaumann + Foam::dragModels::GidaspowSchillerNaumann Description H, Enwald, E. Peirano, A-E Almstedt @@ -51,6 +51,8 @@ SourceFiles namespace Foam { +namespace dragModels +{ /*---------------------------------------------------------------------------*\ Class GidaspowSchillerNaumann Declaration @@ -91,6 +93,7 @@ public: // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +} // End namespace dragModels } // End namespace Foam // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/SchillerNaumann/SchillerNaumann.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/SchillerNaumann/SchillerNaumann.C index 184f64446623eca00762f7092a5c6ea045a3a94e..4ab62e14a7124e8b631ed59a69b49febc818d73e 100644 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/SchillerNaumann/SchillerNaumann.C +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/SchillerNaumann/SchillerNaumann.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -29,6 +29,8 @@ License // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // namespace Foam +{ +namespace dragModels { defineTypeNameAndDebug(SchillerNaumann, 0); @@ -39,11 +41,12 @@ namespace Foam dictionary ); } +} // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // -Foam::SchillerNaumann::SchillerNaumann +Foam::dragModels::SchillerNaumann::SchillerNaumann ( const dictionary& interfaceDict, const volScalarField& alpha1, @@ -57,19 +60,18 @@ Foam::SchillerNaumann::SchillerNaumann // * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // -Foam::SchillerNaumann::~SchillerNaumann() +Foam::dragModels::SchillerNaumann::~SchillerNaumann() {} // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // -Foam::tmp<Foam::volScalarField> Foam::SchillerNaumann::K +Foam::tmp<Foam::volScalarField> Foam::dragModels::SchillerNaumann::K ( const volScalarField& Ur ) const { volScalarField Re(max(Ur*phase1_.d()/phase2_.nu(), scalar(1.0e-3))); - volScalarField Cds ( neg(Re - 1000)*(24.0*(1.0 + 0.15*pow(Re, 0.687))/Re) diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/SchillerNaumann/SchillerNaumann.H b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/SchillerNaumann/SchillerNaumann.H index c2962f3b427cf0dba1a9ff615b5f46cd90f50bfa..00aacd44695ac691e927cf24e427b8ed1c23572e 100644 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/SchillerNaumann/SchillerNaumann.H +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/SchillerNaumann/SchillerNaumann.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -22,7 +22,7 @@ License along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. Class - Foam::SchillerNaumann + Foam::dragModels::SchillerNaumann Description @@ -40,6 +40,8 @@ SourceFiles namespace Foam { +namespace dragModels +{ /*---------------------------------------------------------------------------*\ Class SchillerNaumann Declaration @@ -80,6 +82,7 @@ public: // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +} // End namespace dragModels } // End namespace Foam // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/SyamlalOBrien/SyamlalOBrien.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/SyamlalOBrien/SyamlalOBrien.C index 9cb0ce7854bc1270f782c3db3202271978825a5a..ff6abc1857ff757e08fcda48e5bccfe727ae89f8 100644 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/SyamlalOBrien/SyamlalOBrien.C +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/SyamlalOBrien/SyamlalOBrien.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -29,6 +29,8 @@ License // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // namespace Foam +{ +namespace dragModels { defineTypeNameAndDebug(SyamlalOBrien, 0); @@ -39,11 +41,12 @@ namespace Foam dictionary ); } +} // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // -Foam::SyamlalOBrien::SyamlalOBrien +Foam::dragModels::SyamlalOBrien::SyamlalOBrien ( const dictionary& interfaceDict, const volScalarField& alpha1, @@ -57,13 +60,13 @@ Foam::SyamlalOBrien::SyamlalOBrien // * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // -Foam::SyamlalOBrien::~SyamlalOBrien() +Foam::dragModels::SyamlalOBrien::~SyamlalOBrien() {} // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // -Foam::tmp<Foam::volScalarField> Foam::SyamlalOBrien::K +Foam::tmp<Foam::volScalarField> Foam::dragModels::SyamlalOBrien::K ( const volScalarField& Ur ) const diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/SyamlalOBrien/SyamlalOBrien.H b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/SyamlalOBrien/SyamlalOBrien.H index adc4b439a85e96ca8bf5e34e7a408e5a72f4a38e..210b49d20002d25d15fc4997307859c6d6142013 100644 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/SyamlalOBrien/SyamlalOBrien.H +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/SyamlalOBrien/SyamlalOBrien.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -22,7 +22,7 @@ License along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. Class - Foam::SyamlalOBrien + Foam::dragModels::SyamlalOBrien Description Syamlal, M., Rogers, W. and O'Brien, T. J. (1993) MFIX documentation, @@ -43,6 +43,8 @@ SourceFiles namespace Foam { +namespace dragModels +{ /*---------------------------------------------------------------------------*\ Class SyamlalOBrien Declaration @@ -83,6 +85,7 @@ public: // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +} // End namespace dragModels } // End namespace Foam // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/WenYu/WenYu.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/WenYu/WenYu.C index 5de283e7daac10893da1d5471c259f013b94800c..b31aa21fb6aa97f346a37019a12944a7e6ee6d9f 100644 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/WenYu/WenYu.C +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/WenYu/WenYu.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -29,6 +29,8 @@ License // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // namespace Foam +{ +namespace dragModels { defineTypeNameAndDebug(WenYu, 0); @@ -39,11 +41,12 @@ namespace Foam dictionary ); } +} // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // -Foam::WenYu::WenYu +Foam::dragModels::WenYu::WenYu ( const dictionary& interfaceDict, const volScalarField& alpha1, @@ -57,18 +60,19 @@ Foam::WenYu::WenYu // * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // -Foam::WenYu::~WenYu() +Foam::dragModels::WenYu::~WenYu() {} // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // -Foam::tmp<Foam::volScalarField> Foam::WenYu::K +Foam::tmp<Foam::volScalarField> Foam::dragModels::WenYu::K ( const volScalarField& Ur ) const { volScalarField alpha2(max(scalar(1) - alpha1_, scalar(1.0e-6))); + volScalarField bp(pow(alpha2, -2.65)); volScalarField Re(max(Ur*phase1_.d()/phase2_.nu(), scalar(1.0e-3))); volScalarField Cds @@ -77,7 +81,7 @@ Foam::tmp<Foam::volScalarField> Foam::WenYu::K + pos(Re - 1000)*0.44 ); - return 0.75*Cds*phase2_.rho()*Ur*pow(alpha2, -2.65)/phase1_.d(); + return 0.75*Cds*phase2_.rho()*Ur*bp/phase1_.d(); } diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/WenYu/WenYu.H b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/WenYu/WenYu.H index 16a1978f4f8b53f61cccccd33e20a1ceecf50d2a..6d9affca9fe84b90795c29c0bbf5148af6086787 100644 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/WenYu/WenYu.H +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/WenYu/WenYu.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -22,7 +22,7 @@ License along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. Class - Foam::WenYu + Foam::dragModels::WenYu Description H, Enwald, E. Peirano, A-E Almstedt @@ -54,6 +54,8 @@ SourceFiles namespace Foam { +namespace dragModels +{ /*---------------------------------------------------------------------------*\ Class WenYu Declaration @@ -94,6 +96,7 @@ public: // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +} // End namespace dragModels } // End namespace Foam // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/dragModel/dragModel.H b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/dragModel/dragModel.H index 5a29f36354dcf3a57a324bbbc60705b05f301ba7..6e47aedb4d12ad54bd1a9c1102df8ad18ebc3d3f 100644 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/dragModel/dragModel.H +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/dragModel/dragModel.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -114,12 +114,12 @@ public: //- the dragfunction K used in the momentum eq. // ddt(alpha1*rho1*U1) + ... = ... alpha1*alpha2*K*(U1-U2) // ddt(alpha2*rho2*U2) + ... = ... alpha1*alpha2*K*(U2-U1) - // ********************************** NB ! ***************************** + // ********************************** NB! ***************************** // for numerical reasons alpha1 and alpha2 has been // extracted from the dragFunction K, // so you MUST divide K by alpha1*alpha2 when implemnting the drag // function - // ********************************** NB ! ***************************** + // ********************************** NB! ***************************** virtual tmp<volScalarField> K(const volScalarField& Ur) const = 0; }; diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/dragModel/newDragModel.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/dragModel/newDragModel.C index b71a9a692e06444f11610ef05416ec2f3b052b38..9f20a3c22d1585ac4058f528de298616197fd229 100644 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/dragModel/newDragModel.C +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/dragModel/newDragModel.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -37,7 +37,7 @@ Foam::autoPtr<Foam::dragModel> Foam::dragModel::New { word dragModelType ( - interfaceDict.lookup("dragModel" + phase1.name()) + interfaceDict.lookup(phase1.name()) ); Info << "Selecting dragModel for phase " @@ -50,14 +50,12 @@ Foam::autoPtr<Foam::dragModel> Foam::dragModel::New if (cstrIter == dictionaryConstructorTablePtr_->end()) { - FatalError - << "dragModel::New : " << endl - << " unknown dragModelType type " - << dragModelType - << ", constructor not in hash table" << endl << endl - << " Valid dragModel types are : " << endl; - Info << dictionaryConstructorTablePtr_->sortedToc() - << abort(FatalError); + FatalErrorIn("dragModel::New") + << "Unknown dragModelType type " + << dragModelType << endl << endl + << "Valid dragModel types are : " << endl + << dictionaryConstructorTablePtr_->sortedToc() + << exit(FatalError); } return cstrIter()(interfaceDict, alpha1, phase1, phase2); diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/interfacialModels/heatTransferModels/RanzMarshall/RanzMarshall.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/heatTransferModels/RanzMarshall/RanzMarshall.C similarity index 100% rename from applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/interfacialModels/heatTransferModels/RanzMarshall/RanzMarshall.C rename to applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/heatTransferModels/RanzMarshall/RanzMarshall.C diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/interfacialModels/heatTransferModels/RanzMarshall/RanzMarshall.H b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/heatTransferModels/RanzMarshall/RanzMarshall.H similarity index 97% rename from applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/interfacialModels/heatTransferModels/RanzMarshall/RanzMarshall.H rename to applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/heatTransferModels/RanzMarshall/RanzMarshall.H index 6f3d3f98452ea27360d46428495ab0d0b615f258..8bcad969a8635bf57895f8617a9b44bcbdb6b4a3 100644 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/interfacialModels/heatTransferModels/RanzMarshall/RanzMarshall.H +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/heatTransferModels/RanzMarshall/RanzMarshall.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/interfacialModels/heatTransferModels/heatTransferModel/heatTransferModel.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/heatTransferModels/heatTransferModel/heatTransferModel.C similarity index 96% rename from applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/interfacialModels/heatTransferModels/heatTransferModel/heatTransferModel.C rename to applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/heatTransferModels/heatTransferModel/heatTransferModel.C index b6a85e7cd676c1a9f8371017fac4c2b809437743..40facd1fe63efb4f88db5687a617d51278f05353 100644 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/interfacialModels/heatTransferModels/heatTransferModel/heatTransferModel.C +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/heatTransferModels/heatTransferModel/heatTransferModel.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/interfacialModels/heatTransferModels/heatTransferModel/heatTransferModel.H b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/heatTransferModels/heatTransferModel/heatTransferModel.H similarity index 98% rename from applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/interfacialModels/heatTransferModels/heatTransferModel/heatTransferModel.H rename to applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/heatTransferModels/heatTransferModel/heatTransferModel.H index 47e14fc8c7b1d8fba12b9c25d3272ea4431d93f2..f869f8c0e9ca15b16cbcffa920d2a8086296159f 100644 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/interfacialModels/heatTransferModels/heatTransferModel/heatTransferModel.H +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/heatTransferModels/heatTransferModel/heatTransferModel.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/interfacialModels/heatTransferModels/heatTransferModel/newHeatTransferModel.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/heatTransferModels/heatTransferModel/newHeatTransferModel.C similarity index 97% rename from applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/interfacialModels/heatTransferModels/heatTransferModel/newHeatTransferModel.C rename to applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/heatTransferModels/heatTransferModel/newHeatTransferModel.C index cf3ae9741236ef8942a4ecd88eb4fb8539714d17..757fb94351072024c726c568d45b133cd2e25828 100644 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/interfacialModels/heatTransferModels/heatTransferModel/newHeatTransferModel.C +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/heatTransferModels/heatTransferModel/newHeatTransferModel.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/kEpsilon.H b/applications/solvers/multiphase/twoPhaseEulerFoam/kEpsilon.H deleted file mode 100644 index 1340587ea319d321d712973749c5705438a2d382..0000000000000000000000000000000000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/kEpsilon.H +++ /dev/null @@ -1,64 +0,0 @@ -if (turbulence) -{ - if (mesh.changing()) - { - y.correct(); - } - - tmp<volTensorField> tgradU2 = fvc::grad(U2); - volScalarField G(2*nut2*(tgradU2() && dev(symm(tgradU2())))); - tgradU2.clear(); - - #include "wallFunctions.H" - - // Dissipation equation - fvScalarMatrix epsEqn - ( - fvm::ddt(epsilon) - + fvm::div(phi2, epsilon) - - fvm::Sp(fvc::div(phi2), epsilon) - - fvm::laplacian - ( - alpha1Eps*nuEff2, epsilon, - "laplacian(DepsilonEff,epsilon)" - ) - == - C1*G*epsilon/k - - fvm::Sp(C2*epsilon/k, epsilon) - ); - - #include "wallDissipation.H" - - epsEqn.relax(); - epsEqn.solve(); - - epsilon.max(dimensionedScalar("zero", epsilon.dimensions(), 1.0e-15)); - - - // Turbulent kinetic energy equation - fvScalarMatrix kEqn - ( - fvm::ddt(k) - + fvm::div(phi2, k) - - fvm::Sp(fvc::div(phi2), k) - - fvm::laplacian - ( - alpha1k*nuEff2, k, - "laplacian(DkEff,k)" - ) - == - G - - fvm::Sp(epsilon/k, k) - ); - kEqn.relax(); - kEqn.solve(); - - k.max(dimensionedScalar("zero", k.dimensions(), 1.0e-8)); - - //- Re-calculate turbulence viscosity - nut2 = Cmu*sqr(k)/epsilon; - - #include "wallViscosity.H" -} - -nuEff2 = nut2 + nu2; diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/Make/files b/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/Make/files deleted file mode 100644 index 758859e6bbb4b618f6d12537835ec797eb965a28..0000000000000000000000000000000000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/Make/files +++ /dev/null @@ -1,32 +0,0 @@ -kineticTheoryModel/kineticTheoryModel.C - -viscosityModel/viscosityModel/viscosityModel.C -viscosityModel/viscosityModel/newViscosityModel.C -viscosityModel/Gidaspow/GidaspowViscosity.C -viscosityModel/Syamlal/SyamlalViscosity.C -viscosityModel/HrenyaSinclair/HrenyaSinclairViscosity.C -viscosityModel/none/noneViscosity.C - -conductivityModel/conductivityModel/conductivityModel.C -conductivityModel/conductivityModel/newConductivityModel.C -conductivityModel/Gidaspow/GidaspowConductivity.C -conductivityModel/Syamlal/SyamlalConductivity.C -conductivityModel/HrenyaSinclair/HrenyaSinclairConductivity.C - -radialModel/radialModel/radialModel.C -radialModel/radialModel/newRadialModel.C -radialModel/CarnahanStarling/CarnahanStarlingRadial.C -radialModel/LunSavage/LunSavageRadial.C -radialModel/SinclairJackson/SinclairJacksonRadial.C - -granularPressureModel/granularPressureModel/granularPressureModel.C -granularPressureModel/granularPressureModel/newGranularPressureModel.C -granularPressureModel/Lun/LunPressure.C -granularPressureModel/SyamlalRogersOBrien/SyamlalRogersOBrienPressure.C - -frictionalStressModel/frictionalStressModel/frictionalStressModel.C -frictionalStressModel/frictionalStressModel/newFrictionalStressModel.C -frictionalStressModel/JohnsonJackson/JohnsonJacksonFrictionalStress.C -frictionalStressModel/Schaeffer/SchaefferFrictionalStress.C - -LIB = $(FOAM_LIBBIN)/libkineticTheoryModel diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/Make/options b/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/Make/options deleted file mode 100644 index 2fcce9913d9408482098065ad511e280e366c83f..0000000000000000000000000000000000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/Make/options +++ /dev/null @@ -1,5 +0,0 @@ -EXE_INC = \ - -I$(LIB_SRC)/foam/lnInclude \ - -I$(LIB_SRC)/finiteVolume/lnInclude \ - -I../phaseModel/lnInclude \ - -I../interfacialModels/lnInclude diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/conductivityModel/Gidaspow/GidaspowConductivity.C b/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/conductivityModel/Gidaspow/GidaspowConductivity.C deleted file mode 100644 index c069b99da05bca594451f1a22ae3eff30f894592..0000000000000000000000000000000000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/conductivityModel/Gidaspow/GidaspowConductivity.C +++ /dev/null @@ -1,83 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 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 "GidaspowConductivity.H" -#include "mathematicalConstants.H" -#include "addToRunTimeSelectionTable.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ - defineTypeNameAndDebug(GidaspowConductivity, 0); - - addToRunTimeSelectionTable - ( - conductivityModel, - GidaspowConductivity, - dictionary - ); -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::GidaspowConductivity::GidaspowConductivity(const dictionary& dict) -: - conductivityModel(dict) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::GidaspowConductivity::~GidaspowConductivity() -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -Foam::tmp<Foam::volScalarField> Foam::GidaspowConductivity::kappa -( - const volScalarField& alpha1, - const volScalarField& Theta, - const volScalarField& g0, - const dimensionedScalar& rho1, - const dimensionedScalar& da, - const dimensionedScalar& e -) const -{ - const scalar sqrtPi = sqrt(constant::mathematical::pi); - - return rho1*da*sqrt(Theta)* - ( - 2.0*sqr(alpha1)*g0*(1.0 + e)/sqrtPi - + (9.0/8.0)*sqrtPi*g0*0.5*(1.0 + e)*sqr(alpha1) - + (15.0/16.0)*sqrtPi*alpha1 - + (25.0/64.0)*sqrtPi/((1.0 + e)*g0) - ); -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/conductivityModel/Gidaspow/GidaspowConductivity.H b/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/conductivityModel/Gidaspow/GidaspowConductivity.H deleted file mode 100644 index 40119b75395c6a345fd422dc82c062cfa898ee17..0000000000000000000000000000000000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/conductivityModel/Gidaspow/GidaspowConductivity.H +++ /dev/null @@ -1,91 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 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::GidaspowConductivity - -Description - -SourceFiles - GidaspowConductivity.C - -\*---------------------------------------------------------------------------*/ - -#ifndef GidaspowConductivity_H -#define GidaspowConductivity_H - -#include "conductivityModel.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -/*---------------------------------------------------------------------------*\ - Class GidaspowConductivity Declaration -\*---------------------------------------------------------------------------*/ - -class GidaspowConductivity -: - public conductivityModel -{ - -public: - - //- Runtime type information - TypeName("Gidaspow"); - - - // Constructors - - //- Construct from components - GidaspowConductivity(const dictionary& dict); - - - //- Destructor - virtual ~GidaspowConductivity(); - - - // Member Functions - - tmp<volScalarField> kappa - ( - const volScalarField& alpha1, - const volScalarField& Theta, - const volScalarField& g0, - const dimensionedScalar& rho1, - const dimensionedScalar& da, - const dimensionedScalar& e - ) const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/conductivityModel/HrenyaSinclair/HrenyaSinclairConductivity.C b/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/conductivityModel/HrenyaSinclair/HrenyaSinclairConductivity.C deleted file mode 100644 index 9cc032828488713e751b69f037ab4a6c044585e4..0000000000000000000000000000000000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/conductivityModel/HrenyaSinclair/HrenyaSinclairConductivity.C +++ /dev/null @@ -1,96 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 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 "HrenyaSinclairConductivity.H" -#include "mathematicalConstants.H" -#include "addToRunTimeSelectionTable.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ - defineTypeNameAndDebug(HrenyaSinclairConductivity, 0); - - addToRunTimeSelectionTable - ( - conductivityModel, - HrenyaSinclairConductivity, - dictionary - ); -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::HrenyaSinclairConductivity::HrenyaSinclairConductivity -( - const dictionary& dict -) -: - conductivityModel(dict), - coeffsDict_(dict.subDict(typeName + "Coeffs")), - L_(coeffsDict_.lookup("L")) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::HrenyaSinclairConductivity::~HrenyaSinclairConductivity() -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -Foam::tmp<Foam::volScalarField> Foam::HrenyaSinclairConductivity::kappa -( - const volScalarField& alpha1, - const volScalarField& Theta, - const volScalarField& g0, - const dimensionedScalar& rho1, - const dimensionedScalar& da, - const dimensionedScalar& e -) const -{ - const scalar sqrtPi = sqrt(constant::mathematical::pi); - - volScalarField lamda - ( - scalar(1) + da/(6.0*sqrt(2.0)*(alpha1 + scalar(1.0e-5)))/L_ - ); - - return rho1*da*sqrt(Theta)* - ( - 2.0*sqr(alpha1)*g0*(1.0 + e)/sqrtPi - + (9.0/8.0)*sqrtPi*0.25*sqr(1.0 + e)*(2.0*e - 1.0)*sqr(alpha1) - /(49.0/16.0 - 33.0*e/16.0) - + (15.0/16.0)*sqrtPi*alpha1*(0.5*sqr(e) + 0.25*e - 0.75 + lamda) - /((49.0/16.0 - 33.0*e/16.0)*lamda) - + (25.0/64.0)*sqrtPi - /((1.0 + e)*(49.0/16.0 - 33.0*e/16.0)*lamda*g0) - ); -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/conductivityModel/HrenyaSinclair/HrenyaSinclairConductivity.H b/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/conductivityModel/HrenyaSinclair/HrenyaSinclairConductivity.H deleted file mode 100644 index b5004459f37928f8691b0aaf081bcd4a6ff51282..0000000000000000000000000000000000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/conductivityModel/HrenyaSinclair/HrenyaSinclairConductivity.H +++ /dev/null @@ -1,96 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 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::HrenyaSinclairConductivity - -Description - -SourceFiles - HrenyaSinclairConductivity.C - -\*---------------------------------------------------------------------------*/ - -#ifndef HrenyaSinclairConductivity_H -#define HrenyaSinclairConductivity_H - -#include "conductivityModel.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -/*---------------------------------------------------------------------------*\ - Class HrenyaSinclairConductivity Declaration -\*---------------------------------------------------------------------------*/ - -class HrenyaSinclairConductivity -: - public conductivityModel -{ - - dictionary coeffsDict_; - - //- characteristic length of geometry - dimensionedScalar L_; - -public: - - //- Runtime type information - TypeName("HrenyaSinclair"); - - - // Constructors - - //- Construct from components - HrenyaSinclairConductivity(const dictionary& dict); - - - //- Destructor - virtual ~HrenyaSinclairConductivity(); - - - // Member Functions - - tmp<volScalarField> kappa - ( - const volScalarField& alpha1, - const volScalarField& Theta, - const volScalarField& g0, - const dimensionedScalar& rho1, - const dimensionedScalar& da, - const dimensionedScalar& e - ) const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/conductivityModel/Syamlal/SyamlalConductivity.C b/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/conductivityModel/Syamlal/SyamlalConductivity.C deleted file mode 100644 index 99d9515f89bde1148648ea102cd597392925a786..0000000000000000000000000000000000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/conductivityModel/Syamlal/SyamlalConductivity.C +++ /dev/null @@ -1,83 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 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 "SyamlalConductivity.H" -#include "mathematicalConstants.H" -#include "addToRunTimeSelectionTable.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ - defineTypeNameAndDebug(SyamlalConductivity, 0); - - addToRunTimeSelectionTable - ( - conductivityModel, - SyamlalConductivity, - dictionary - ); -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::SyamlalConductivity::SyamlalConductivity(const dictionary& dict) -: - conductivityModel(dict) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::SyamlalConductivity::~SyamlalConductivity() -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -Foam::tmp<Foam::volScalarField> Foam::SyamlalConductivity::kappa -( - const volScalarField& alpha1, - const volScalarField& Theta, - const volScalarField& g0, - const dimensionedScalar& rho1, - const dimensionedScalar& da, - const dimensionedScalar& e -) const -{ - const scalar sqrtPi = sqrt(constant::mathematical::pi); - - return rho1*da*sqrt(Theta)* - ( - 2.0*sqr(alpha1)*g0*(1.0 + e)/sqrtPi - + (9.0/8.0)*sqrtPi*g0*0.25*sqr(1.0 + e)*(2.0*e - 1.0)*sqr(alpha1) - /(49.0/16.0 - 33.0*e/16.0) - + (15.0/32.0)*sqrtPi*alpha1/(49.0/16.0 - 33.0*e/16.0) - ); -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/conductivityModel/conductivityModel/conductivityModel.C b/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/conductivityModel/conductivityModel/conductivityModel.C deleted file mode 100644 index 3452bb713bab4529efe99ced815b8fc9355add8e..0000000000000000000000000000000000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/conductivityModel/conductivityModel/conductivityModel.C +++ /dev/null @@ -1,55 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 2011 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 "conductivityModel.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ - defineTypeNameAndDebug(conductivityModel, 0); - - defineRunTimeSelectionTable(conductivityModel, dictionary); -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::conductivityModel::conductivityModel -( - const dictionary& dict -) -: - dict_(dict) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::conductivityModel::~conductivityModel() -{} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/conductivityModel/conductivityModel/conductivityModel.H b/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/conductivityModel/conductivityModel/conductivityModel.H deleted file mode 100644 index 885f71059964972e4571ed60fe42070f365af2d1..0000000000000000000000000000000000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/conductivityModel/conductivityModel/conductivityModel.H +++ /dev/null @@ -1,125 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 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::conductivityModel - -SourceFiles - conductivityModel.C - -\*---------------------------------------------------------------------------*/ - -#ifndef conductivityModel_H -#define conductivityModel_H - -#include "dictionary.H" -#include "volFields.H" -#include "dimensionedTypes.H" -#include "runTimeSelectionTables.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -/*---------------------------------------------------------------------------*\ - Class conductivityModel Declaration -\*---------------------------------------------------------------------------*/ - -class conductivityModel -{ - // Private member functions - - //- Disallow default bitwise copy construct - conductivityModel(const conductivityModel&); - - //- Disallow default bitwise assignment - void operator=(const conductivityModel&); - - -protected: - - // Protected data - - const dictionary& dict_; - - -public: - - //- Runtime type information - TypeName("conductivityModel"); - - // Declare runtime constructor selection table - declareRunTimeSelectionTable - ( - autoPtr, - conductivityModel, - dictionary, - ( - const dictionary& dict - ), - (dict) - ); - - - // Constructors - - //- Construct from components - conductivityModel(const dictionary& dict); - - - // Selectors - - static autoPtr<conductivityModel> New - ( - const dictionary& dict - ); - - - //- Destructor - virtual ~conductivityModel(); - - - // Member Functions - - virtual tmp<volScalarField> kappa - ( - const volScalarField& alpha1, - const volScalarField& Theta, - const volScalarField& g0, - const dimensionedScalar& rho1, - const dimensionedScalar& da, - const dimensionedScalar& e - ) const = 0; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/conductivityModel/conductivityModel/newConductivityModel.C b/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/conductivityModel/conductivityModel/newConductivityModel.C deleted file mode 100644 index 93ed0bac1b1fad4772eaad72eb643e209978f778..0000000000000000000000000000000000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/conductivityModel/conductivityModel/newConductivityModel.C +++ /dev/null @@ -1,58 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 2011 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 "conductivityModel.H" - -// * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * * // - -Foam::autoPtr<Foam::conductivityModel> Foam::conductivityModel::New -( - const dictionary& dict -) -{ - word conductivityModelType(dict.lookup("conductivityModel")); - - Info<< "Selecting conductivityModel " - << conductivityModelType << endl; - - dictionaryConstructorTable::iterator cstrIter = - dictionaryConstructorTablePtr_->find(conductivityModelType); - - if (cstrIter == dictionaryConstructorTablePtr_->end()) - { - FatalError - << "conductivityModel::New(const dictionary&) : " << endl - << " unknown conductivityModelType type " - << conductivityModelType - << ", constructor not in hash table" << endl << endl - << " Valid conductivityModelType types are :" << endl; - Info<< dictionaryConstructorTablePtr_->sortedToc() << abort(FatalError); - } - - return autoPtr<conductivityModel>(cstrIter()(dict)); -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/frictionalStressModel/JohnsonJackson/JohnsonJacksonFrictionalStress.C b/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/frictionalStressModel/JohnsonJackson/JohnsonJacksonFrictionalStress.C deleted file mode 100644 index 7ab6f06f0d8c19f50efee027bb2a60a0eee73b77..0000000000000000000000000000000000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/frictionalStressModel/JohnsonJackson/JohnsonJacksonFrictionalStress.C +++ /dev/null @@ -1,114 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 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 "JohnsonJacksonFrictionalStress.H" -#include "addToRunTimeSelectionTable.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ - defineTypeNameAndDebug(JohnsonJacksonFrictionalStress, 0); - - addToRunTimeSelectionTable - ( - frictionalStressModel, - JohnsonJacksonFrictionalStress, - dictionary - ); -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::JohnsonJacksonFrictionalStress::JohnsonJacksonFrictionalStress -( - const dictionary& dict -) -: - frictionalStressModel(dict) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::JohnsonJacksonFrictionalStress::~JohnsonJacksonFrictionalStress() -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -Foam::tmp<Foam::volScalarField> Foam::JohnsonJacksonFrictionalStress:: -frictionalPressure -( - const volScalarField& alpha1, - const dimensionedScalar& alphaMinFriction, - const dimensionedScalar& alphaMax, - const dimensionedScalar& Fr, - const dimensionedScalar& eta, - const dimensionedScalar& p -) const -{ - - return - Fr*pow(max(alpha1 - alphaMinFriction, scalar(0)), eta) - /pow(max(alphaMax - alpha1, scalar(5.0e-2)), p); -} - - -Foam::tmp<Foam::volScalarField> Foam::JohnsonJacksonFrictionalStress:: -frictionalPressurePrime -( - const volScalarField& alpha1, - const dimensionedScalar& alphaMinFriction, - const dimensionedScalar& alphaMax, - const dimensionedScalar& Fr, - const dimensionedScalar& eta, - const dimensionedScalar& p -) const -{ - return Fr* - ( - eta*pow(max(alpha1 - alphaMinFriction, scalar(0)), eta - 1.0) - *(alphaMax-alpha1) - + p*pow(max(alpha1 - alphaMinFriction, scalar(0)), eta) - )/pow(max(alphaMax - alpha1, scalar(5.0e-2)), p + 1.0); -} - - -Foam::tmp<Foam::volScalarField> Foam::JohnsonJacksonFrictionalStress::muf -( - const volScalarField& alpha1, - const dimensionedScalar& alphaMax, - const volScalarField& pf, - const volSymmTensorField& D, - const dimensionedScalar& phi -) const -{ - return dimensionedScalar("0.5", dimTime, 0.5)*pf*sin(phi); -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/frictionalStressModel/JohnsonJackson/JohnsonJacksonFrictionalStress.H b/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/frictionalStressModel/JohnsonJackson/JohnsonJacksonFrictionalStress.H deleted file mode 100644 index 91f480b4eaab056ab05760bf86f065889b730780..0000000000000000000000000000000000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/frictionalStressModel/JohnsonJackson/JohnsonJacksonFrictionalStress.H +++ /dev/null @@ -1,110 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 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::JohnsonJacksonFrictionalStress - -Description - -SourceFiles - JohnsonJacksonFrictionalStress.C - -\*---------------------------------------------------------------------------*/ - -#ifndef JohnsonJacksonFrictionalStress_H -#define JohnsonJacksonFrictionalStress_H - -#include "frictionalStressModel.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -/*---------------------------------------------------------------------------*\ - Class JohnsonJacksonFrictionalStress Declaration -\*---------------------------------------------------------------------------*/ - -class JohnsonJacksonFrictionalStress -: - public frictionalStressModel -{ - -public: - - //- Runtime type information - TypeName("JohnsonJackson"); - - - // Constructors - - //- Construct from components - JohnsonJacksonFrictionalStress(const dictionary& dict); - - - //- Destructor - virtual ~JohnsonJacksonFrictionalStress(); - - - // Member functions - - virtual tmp<volScalarField> frictionalPressure - ( - const volScalarField& alpha1, - const dimensionedScalar& alphaMinFriction, - const dimensionedScalar& alphaMax, - const dimensionedScalar& Fr, - const dimensionedScalar& eta, - const dimensionedScalar& p - ) const; - - virtual tmp<volScalarField> frictionalPressurePrime - ( - const volScalarField& alpha1, - const dimensionedScalar& alphaMinFriction, - const dimensionedScalar& alphaMax, - const dimensionedScalar& Fr, - const dimensionedScalar& eta, - const dimensionedScalar& p - ) const; - - virtual tmp<volScalarField> muf - ( - const volScalarField& alpha1, - const dimensionedScalar& alphaMax, - const volScalarField& pf, - const volSymmTensorField& D, - const dimensionedScalar& phi - ) const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/frictionalStressModel/Schaeffer/SchaefferFrictionalStress.C b/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/frictionalStressModel/Schaeffer/SchaefferFrictionalStress.C deleted file mode 100644 index 73b2cc57ee0dd17b50110eaf2f411b6b2435cbb5..0000000000000000000000000000000000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/frictionalStressModel/Schaeffer/SchaefferFrictionalStress.C +++ /dev/null @@ -1,149 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 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 "SchaefferFrictionalStress.H" -#include "addToRunTimeSelectionTable.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ - defineTypeNameAndDebug(SchaefferFrictionalStress, 0); - - addToRunTimeSelectionTable - ( - frictionalStressModel, - SchaefferFrictionalStress, - dictionary - ); -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::SchaefferFrictionalStress::SchaefferFrictionalStress -( - const dictionary& dict -) -: - frictionalStressModel(dict) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::SchaefferFrictionalStress::~SchaefferFrictionalStress() -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -Foam::tmp<Foam::volScalarField> Foam::SchaefferFrictionalStress:: -frictionalPressure -( - const volScalarField& alpha1, - const dimensionedScalar& alphaMinFriction, - const dimensionedScalar& alphaMax, - const dimensionedScalar& Fr, - const dimensionedScalar& eta, - const dimensionedScalar& p -) const -{ - return - dimensionedScalar("1e24", dimensionSet(1, -1, -2, 0, 0), 1e24) - *pow(Foam::max(alpha1 - alphaMinFriction, scalar(0)), 10.0); -} - - -Foam::tmp<Foam::volScalarField> Foam::SchaefferFrictionalStress:: -frictionalPressurePrime -( - const volScalarField& alpha1, - const dimensionedScalar& alphaMinFriction, - const dimensionedScalar& alphaMax, - const dimensionedScalar& Fr, - const dimensionedScalar& eta, - const dimensionedScalar& p -) const -{ - return - dimensionedScalar("1e25", dimensionSet(1, -1, -2, 0, 0), 1e25) - *pow(Foam::max(alpha1 - alphaMinFriction, scalar(0)), 9.0); -} - - -Foam::tmp<Foam::volScalarField> Foam::SchaefferFrictionalStress::muf -( - const volScalarField& alpha1, - const dimensionedScalar& alphaMax, - const volScalarField& pf, - const volSymmTensorField& D, - const dimensionedScalar& phi -) const -{ - const scalar I2Dsmall = 1.0e-15; - - // Creating muf assuming it should be 0 on the boundary which may not be - // true - tmp<volScalarField> tmuf - ( - new volScalarField - ( - IOobject - ( - "muf", - alpha1.mesh().time().timeName(), - alpha1.mesh() - ), - alpha1.mesh(), - dimensionedScalar("muf", dimensionSet(1, -1, -1, 0, 0), 0.0) - ) - ); - - volScalarField& muff = tmuf(); - - forAll (D, celli) - { - if (alpha1[celli] > alphaMax.value() - 5e-2) - { - muff[celli] = - 0.5*pf[celli]*sin(phi.value()) - /( - sqrt(1.0/6.0*(sqr(D[celli].xx() - D[celli].yy()) - + sqr(D[celli].yy() - D[celli].zz()) - + sqr(D[celli].zz() - D[celli].xx())) - + sqr(D[celli].xy()) + sqr(D[celli].xz()) - + sqr(D[celli].yz())) + I2Dsmall - ); - } - } - - muff.correctBoundaryConditions(); - - return tmuf; -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/frictionalStressModel/Schaeffer/SchaefferFrictionalStress.H b/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/frictionalStressModel/Schaeffer/SchaefferFrictionalStress.H deleted file mode 100644 index d74b0d9127f67443ca440816d0edf732d7e2194e..0000000000000000000000000000000000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/frictionalStressModel/Schaeffer/SchaefferFrictionalStress.H +++ /dev/null @@ -1,110 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 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::SchaefferFrictionalStress - -Description - -SourceFiles - SchaefferFrictionalStress.C - -\*---------------------------------------------------------------------------*/ - -#ifndef SchaefferFrictionalStress_H -#define SchaefferFrictionalStress_H - -#include "frictionalStressModel.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -/*---------------------------------------------------------------------------*\ - Class SchaefferFrictionalStress Declaration -\*---------------------------------------------------------------------------*/ - -class SchaefferFrictionalStress -: - public frictionalStressModel -{ - -public: - - //- Runtime type information - TypeName("Schaeffer"); - - - // Constructors - - //- Construct from components - SchaefferFrictionalStress(const dictionary& dict); - - - //- Destructor - virtual ~SchaefferFrictionalStress(); - - - // Member functions - - virtual tmp<volScalarField> frictionalPressure - ( - const volScalarField& alpha1, - const dimensionedScalar& alphaMinFriction, - const dimensionedScalar& alphaMax, - const dimensionedScalar& Fr, - const dimensionedScalar& eta, - const dimensionedScalar& p - ) const; - - virtual tmp<volScalarField> frictionalPressurePrime - ( - const volScalarField& alpha1, - const dimensionedScalar& alphaMinFriction, - const dimensionedScalar& alphaMax, - const dimensionedScalar& Fr, - const dimensionedScalar& n, - const dimensionedScalar& p - ) const; - - virtual tmp<volScalarField> muf - ( - const volScalarField& alpha1, - const dimensionedScalar& alphaMax, - const volScalarField& pf, - const volSymmTensorField& D, - const dimensionedScalar& phi - ) const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/frictionalStressModel/frictionalStressModel/frictionalStressModel.C b/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/frictionalStressModel/frictionalStressModel/frictionalStressModel.C deleted file mode 100644 index 16879b043951a2a9f2142d79453ce3bb3be601fc..0000000000000000000000000000000000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/frictionalStressModel/frictionalStressModel/frictionalStressModel.C +++ /dev/null @@ -1,55 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 2011 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 "frictionalStressModel.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ - defineTypeNameAndDebug(frictionalStressModel, 0); - - defineRunTimeSelectionTable(frictionalStressModel, dictionary); -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::frictionalStressModel::frictionalStressModel -( - const dictionary& dict -) -: - dict_(dict) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::frictionalStressModel::~frictionalStressModel() -{} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/frictionalStressModel/frictionalStressModel/frictionalStressModel.H b/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/frictionalStressModel/frictionalStressModel/frictionalStressModel.H deleted file mode 100644 index 2242aa42245103c0da71a5337466b6686a3f549a..0000000000000000000000000000000000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/frictionalStressModel/frictionalStressModel/frictionalStressModel.H +++ /dev/null @@ -1,144 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 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::frictionalStressModel - -SourceFiles - frictionalStressModel.C - -\*---------------------------------------------------------------------------*/ - -#ifndef frictionalStressModel_H -#define frictionalStressModel_H - -#include "dictionary.H" -#include "volFields.H" -#include "dimensionedTypes.H" -#include "runTimeSelectionTables.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -/*---------------------------------------------------------------------------*\ - Class frictionalStressModel Declaration -\*---------------------------------------------------------------------------*/ - -class frictionalStressModel -{ - // Private member functions - - //- Disallow default bitwise copy construct - frictionalStressModel(const frictionalStressModel&); - - //- Disallow default bitwise assignment - void operator=(const frictionalStressModel&); - - -protected: - - // Protected data - - const dictionary& dict_; - - -public: - - //- Runtime type information - TypeName("frictionalStressModel"); - - // Declare runtime constructor selection table - declareRunTimeSelectionTable - ( - autoPtr, - frictionalStressModel, - dictionary, - ( - const dictionary& dict - ), - (dict) - ); - - - // Constructors - - //- Construct from components - frictionalStressModel(const dictionary& dict); - - - // Selectors - - static autoPtr<frictionalStressModel> New - ( - const dictionary& dict - ); - - - //- Destructor - virtual ~frictionalStressModel(); - - - // Member Functions - - virtual tmp<volScalarField> frictionalPressure - ( - const volScalarField& alpha1, - const dimensionedScalar& alphaMinFriction, - const dimensionedScalar& alphaMax, - const dimensionedScalar& Fr, - const dimensionedScalar& eta, - const dimensionedScalar& p - ) const = 0; - - virtual tmp<volScalarField> frictionalPressurePrime - ( - const volScalarField& alpha1f, - const dimensionedScalar& alphaMinFriction, - const dimensionedScalar& alphaMax, - const dimensionedScalar& Fr, - const dimensionedScalar& eta, - const dimensionedScalar& p - ) const = 0; - - virtual tmp<volScalarField> muf - ( - const volScalarField& alpha1, - const dimensionedScalar& alphaMax, - const volScalarField& pf, - const volSymmTensorField& D, - const dimensionedScalar& phi - ) const = 0; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/frictionalStressModel/frictionalStressModel/newFrictionalStressModel.C b/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/frictionalStressModel/frictionalStressModel/newFrictionalStressModel.C deleted file mode 100644 index e9d8b9230c9e0c9fa7308f3134f46cd029e38d2c..0000000000000000000000000000000000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/frictionalStressModel/frictionalStressModel/newFrictionalStressModel.C +++ /dev/null @@ -1,59 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 2011 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 "frictionalStressModel.H" - -// * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * * // - -Foam::autoPtr<Foam::frictionalStressModel> Foam::frictionalStressModel::New -( - const dictionary& dict -) -{ - word frictionalStressModelType(dict.lookup("frictionalStressModel")); - - Info<< "Selecting frictionalStressModel " - << frictionalStressModelType << endl; - - dictionaryConstructorTable::iterator cstrIter = - dictionaryConstructorTablePtr_->find(frictionalStressModelType); - - if (cstrIter == dictionaryConstructorTablePtr_->end()) - { - FatalError - << "frictionalStressModel::New(const dictionary&) : " << endl - << " unknown frictionalStressModelType type " - << frictionalStressModelType - << ", constructor not in hash table" << endl << endl - << " Valid frictionalStressModelType types are :" << endl; - Info<< dictionaryConstructorTablePtr_->sortedToc() - << abort(FatalError); - } - - return autoPtr<frictionalStressModel>(cstrIter()(dict)); -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/granularPressureModel/Lun/LunPressure.C b/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/granularPressureModel/Lun/LunPressure.C deleted file mode 100644 index abd0be06477236cbd8b23ea7e034faba0946487c..0000000000000000000000000000000000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/granularPressureModel/Lun/LunPressure.C +++ /dev/null @@ -1,85 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 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 "LunPressure.H" -#include "addToRunTimeSelectionTable.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ - defineTypeNameAndDebug(LunPressure, 0); - - addToRunTimeSelectionTable - ( - granularPressureModel, - LunPressure, - dictionary - ); -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::LunPressure::LunPressure(const dictionary& dict) -: - granularPressureModel(dict) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::LunPressure::~LunPressure() -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -Foam::tmp<Foam::volScalarField> Foam::LunPressure::granularPressureCoeff -( - const volScalarField& alpha1, - const volScalarField& g0, - const dimensionedScalar& rho1, - const dimensionedScalar& e -) const -{ - - return rho1*alpha1*(1.0 + 2.0*(1.0 + e)*alpha1*g0); -} - - -Foam::tmp<Foam::volScalarField> Foam::LunPressure::granularPressureCoeffPrime -( - const volScalarField& alpha1, - const volScalarField& g0, - const volScalarField& g0prime, - const dimensionedScalar& rho1, - const dimensionedScalar& e -) const -{ - return rho1*(1.0 + alpha1*(1.0 + e)*(4.0*g0 + 2.0*g0prime*alpha1)); -} - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/granularPressureModel/Lun/LunPressure.H b/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/granularPressureModel/Lun/LunPressure.H deleted file mode 100644 index e67df01b9ae8b6bfac534ee8c3e774d3b3d87f07..0000000000000000000000000000000000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/granularPressureModel/Lun/LunPressure.H +++ /dev/null @@ -1,98 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 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::LunPressure - -Description - -SourceFiles - LunPressure.C - -\*---------------------------------------------------------------------------*/ - -#ifndef LunPressure_H -#define LunPressure_H - -#include "granularPressureModel.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -/*---------------------------------------------------------------------------*\ - Class LunPressure Declaration -\*---------------------------------------------------------------------------*/ - -class LunPressure -: - public granularPressureModel -{ - -public: - - //- Runtime type information - TypeName("Lun"); - - - // Constructors - - //- Construct from components - LunPressure(const dictionary& dict); - - - //- Destructor - virtual ~LunPressure(); - - - // Member Functions - - tmp<volScalarField> granularPressureCoeff - ( - const volScalarField& alpha1, - const volScalarField& g0, - const dimensionedScalar& rho1, - const dimensionedScalar& e - ) const; - - tmp<volScalarField> granularPressureCoeffPrime - ( - const volScalarField& alpha1, - const volScalarField& g0, - const volScalarField& g0prime, - const dimensionedScalar& rho1, - const dimensionedScalar& e - ) const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/granularPressureModel/SyamlalRogersOBrien/SyamlalRogersOBrienPressure.C b/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/granularPressureModel/SyamlalRogersOBrien/SyamlalRogersOBrienPressure.C deleted file mode 100644 index 0f676cd08e8e4e5a459c9eb72fd08f26fb032389..0000000000000000000000000000000000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/granularPressureModel/SyamlalRogersOBrien/SyamlalRogersOBrienPressure.C +++ /dev/null @@ -1,91 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 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 "SyamlalRogersOBrienPressure.H" -#include "addToRunTimeSelectionTable.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ - defineTypeNameAndDebug(SyamlalRogersOBrienPressure, 0); - - addToRunTimeSelectionTable - ( - granularPressureModel, - SyamlalRogersOBrienPressure, - dictionary - ); -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::SyamlalRogersOBrienPressure::SyamlalRogersOBrienPressure -( - const dictionary& dict -) -: - granularPressureModel(dict) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::SyamlalRogersOBrienPressure::~SyamlalRogersOBrienPressure() -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -Foam::tmp<Foam::volScalarField> Foam::SyamlalRogersOBrienPressure:: -granularPressureCoeff -( - const volScalarField& alpha1, - const volScalarField& g0, - const dimensionedScalar& rho1, - const dimensionedScalar& e -) const -{ - - return 2.0*rho1*(1.0 + e)*sqr(alpha1)*g0; -} - - -Foam::tmp<Foam::volScalarField> Foam::SyamlalRogersOBrienPressure:: -granularPressureCoeffPrime -( - const volScalarField& alpha1, - const volScalarField& g0, - const volScalarField& g0prime, - const dimensionedScalar& rho1, - const dimensionedScalar& e -) const -{ - return rho1*alpha1*(1.0 + e)*(4.0*g0 + 2.0*g0prime*alpha1); -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/granularPressureModel/SyamlalRogersOBrien/SyamlalRogersOBrienPressure.H b/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/granularPressureModel/SyamlalRogersOBrien/SyamlalRogersOBrienPressure.H deleted file mode 100644 index e9d697a32241e870b9a76fe1bde58dffde66e457..0000000000000000000000000000000000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/granularPressureModel/SyamlalRogersOBrien/SyamlalRogersOBrienPressure.H +++ /dev/null @@ -1,98 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 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::SyamlalRogersOBrienPressure - -Description - -SourceFiles - SyamlalRogersOBrienPressure.C - -\*---------------------------------------------------------------------------*/ - -#ifndef SyamlalRogersOBrienPressure_H -#define SyamlalRogersOBrienPressure_H - -#include "granularPressureModel.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -/*---------------------------------------------------------------------------*\ - Class SyamlalRogersOBrienPressure Declaration -\*---------------------------------------------------------------------------*/ - -class SyamlalRogersOBrienPressure -: - public granularPressureModel -{ - -public: - - //- Runtime type information - TypeName("SyamlalRogersOBrien"); - - - // Constructors - - //- Construct from components - SyamlalRogersOBrienPressure(const dictionary& dict); - - - //- Destructor - virtual ~SyamlalRogersOBrienPressure(); - - - // Member Functions - - tmp<volScalarField> granularPressureCoeff - ( - const volScalarField& alpha1, - const volScalarField& g0, - const dimensionedScalar& rho1, - const dimensionedScalar& e - ) const; - - tmp<volScalarField> granularPressureCoeffPrime - ( - const volScalarField& alpha1, - const volScalarField& g0, - const volScalarField& g0prime, - const dimensionedScalar& rho1, - const dimensionedScalar& e - ) const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/granularPressureModel/granularPressureModel/granularPressureModel.C b/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/granularPressureModel/granularPressureModel/granularPressureModel.C deleted file mode 100644 index 903a8183c9614b2c024e5fc29192c6ed9b291373..0000000000000000000000000000000000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/granularPressureModel/granularPressureModel/granularPressureModel.C +++ /dev/null @@ -1,55 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 2011 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 "granularPressureModel.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ - defineTypeNameAndDebug(granularPressureModel, 0); - - defineRunTimeSelectionTable(granularPressureModel, dictionary); -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::granularPressureModel::granularPressureModel -( - const dictionary& dict -) -: - dict_(dict) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::granularPressureModel::~granularPressureModel() -{} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/granularPressureModel/granularPressureModel/granularPressureModel.H b/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/granularPressureModel/granularPressureModel/granularPressureModel.H deleted file mode 100644 index a60f83565f7cf513eb3ebb40d9469b086065af07..0000000000000000000000000000000000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/granularPressureModel/granularPressureModel/granularPressureModel.H +++ /dev/null @@ -1,134 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 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::granularPressureModel - -SourceFiles - granularPressureModel.C - -\*---------------------------------------------------------------------------*/ - -#ifndef granularPressureModel_H -#define granularPressureModel_H - -#include "dictionary.H" -#include "volFields.H" -#include "dimensionedTypes.H" -#include "runTimeSelectionTables.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -/*---------------------------------------------------------------------------*\ - Class granularPressureModel Declaration -\*---------------------------------------------------------------------------*/ - -class granularPressureModel -{ - // Private member functions - - //- Disallow default bitwise copy construct - granularPressureModel(const granularPressureModel&); - - //- Disallow default bitwise assignment - void operator=(const granularPressureModel&); - - -protected: - - // Protected data - - const dictionary& dict_; - - -public: - - //- Runtime type information - TypeName("granularPressureModel"); - - // Declare runtime constructor selection table - declareRunTimeSelectionTable - ( - autoPtr, - granularPressureModel, - dictionary, - ( - const dictionary& dict - ), - (dict) - ); - - - // Constructors - - //- Construct from components - granularPressureModel(const dictionary& dict); - - - // Selectors - - static autoPtr<granularPressureModel> New - ( - const dictionary& dict - ); - - - //- Destructor - virtual ~granularPressureModel(); - - - // Member Functions - - //- Granular pressure coefficient - virtual tmp<volScalarField> granularPressureCoeff - ( - const volScalarField& alpha1, - const volScalarField& g0, - const dimensionedScalar& rho1, - const dimensionedScalar& e - ) const = 0; - - //- Derivative of the granular pressure coefficient - virtual tmp<volScalarField> granularPressureCoeffPrime - ( - const volScalarField& alpha1, - const volScalarField& g0, - const volScalarField& g0prime, - const dimensionedScalar& rho1, - const dimensionedScalar& e - ) const = 0; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/granularPressureModel/granularPressureModel/newGranularPressureModel.C b/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/granularPressureModel/granularPressureModel/newGranularPressureModel.C deleted file mode 100644 index 5ad8ea0ab5a03e89bb0d00e8d3fe81f5040d6951..0000000000000000000000000000000000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/granularPressureModel/granularPressureModel/newGranularPressureModel.C +++ /dev/null @@ -1,59 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 2011 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 "granularPressureModel.H" - -// * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * * // - -Foam::autoPtr<Foam::granularPressureModel> Foam::granularPressureModel::New -( - const dictionary& dict -) -{ - word granularPressureModelType(dict.lookup("granularPressureModel")); - - Info<< "Selecting granularPressureModel " - << granularPressureModelType << endl; - - dictionaryConstructorTable::iterator cstrIter = - dictionaryConstructorTablePtr_->find(granularPressureModelType); - - if (cstrIter == dictionaryConstructorTablePtr_->end()) - { - FatalError - << "granularPressureModel::New(const dictionary&) : " << endl - << " unknown granularPressureModelType type " - << granularPressureModelType - << ", constructor not in hash table" << endl << endl - << " Valid granularPressureModelType types are :" << endl; - Info<< dictionaryConstructorTablePtr_->sortedToc() - << abort(FatalError); - } - - return autoPtr<granularPressureModel>(cstrIter()(dict)); -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.C b/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.C deleted file mode 100644 index 5a27c288da8b59e5966985d36b020dcceef2923f..0000000000000000000000000000000000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.C +++ /dev/null @@ -1,389 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 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 "kineticTheoryModel.H" -#include "surfaceInterpolate.H" -#include "mathematicalConstants.H" -#include "fvCFD.H" - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::kineticTheoryModel::kineticTheoryModel -( - const Foam::phaseModel& phase1, - const Foam::volVectorField& U2, - const Foam::volScalarField& alpha1, - const Foam::dragModel& drag1 -) -: - phase1_(phase1), - U1_(phase1.U()), - U2_(U2), - alpha1_(alpha1), - phi1_(phase1.phi()), - drag1_(drag1), - - rho1_(phase1.rho()), - da_(phase1.d()), - nu1_(phase1.nu()), - - kineticTheoryProperties_ - ( - IOobject - ( - "kineticTheoryProperties", - U1_.time().constant(), - U1_.mesh(), - IOobject::MUST_READ, - IOobject::NO_WRITE - ) - ), - kineticTheory_(kineticTheoryProperties_.lookup("kineticTheory")), - equilibrium_(kineticTheoryProperties_.lookup("equilibrium")), - - viscosityModel_ - ( - kineticTheoryModels::viscosityModel::New - ( - kineticTheoryProperties_ - ) - ), - conductivityModel_ - ( - conductivityModel::New - ( - kineticTheoryProperties_ - ) - ), - radialModel_ - ( - kineticTheoryModels::radialModel::New - ( - kineticTheoryProperties_ - ) - ), - granularPressureModel_ - ( - granularPressureModel::New - ( - kineticTheoryProperties_ - ) - ), - frictionalStressModel_ - ( - frictionalStressModel::New - ( - kineticTheoryProperties_ - ) - ), - e_(kineticTheoryProperties_.lookup("e")), - alphaMax_(kineticTheoryProperties_.lookup("alphaMax")), - alphaMinFriction_(kineticTheoryProperties_.lookup("alphaMinFriction")), - Fr_(kineticTheoryProperties_.lookup("Fr")), - eta_(kineticTheoryProperties_.lookup("eta")), - p_(kineticTheoryProperties_.lookup("p")), - phi_(dimensionedScalar(kineticTheoryProperties_.lookup("phi"))*M_PI/180.0), - Theta_ - ( - IOobject - ( - "Theta", - U1_.time().timeName(), - U1_.mesh(), - IOobject::MUST_READ, - IOobject::AUTO_WRITE - ), - U1_.mesh() - ), - mu1_ - ( - IOobject - ( - "mu1", - U1_.time().timeName(), - U1_.mesh(), - IOobject::NO_READ, - IOobject::AUTO_WRITE - ), - U1_.mesh(), - dimensionedScalar("zero", dimensionSet(1, -1, -1, 0, 0), 0.0) - ), - lambda_ - ( - IOobject - ( - "lambda", - U1_.time().timeName(), - U1_.mesh(), - IOobject::NO_READ, - IOobject::NO_WRITE - ), - U1_.mesh(), - dimensionedScalar("zero", dimensionSet(1, -1, -1, 0, 0), 0.0) - ), - pa_ - ( - IOobject - ( - "pa", - U1_.time().timeName(), - U1_.mesh(), - IOobject::NO_READ, - IOobject::AUTO_WRITE - ), - U1_.mesh(), - dimensionedScalar("zero", dimensionSet(1, -1, -2, 0, 0), 0.0) - ), - kappa_ - ( - IOobject - ( - "kappa", - U1_.time().timeName(), - U1_.mesh(), - IOobject::NO_READ, - IOobject::NO_WRITE - ), - U1_.mesh(), - dimensionedScalar("zero", dimensionSet(1, -1, -1, 0, 0), 0.0) - ), - gs0_ - ( - IOobject - ( - "gs0", - U1_.time().timeName(), - U1_.mesh(), - IOobject::NO_READ, - IOobject::NO_WRITE - ), - U1_.mesh(), - dimensionedScalar("zero", dimensionSet(0, 0, 0, 0, 0), 1.0) - ) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::kineticTheoryModel::~kineticTheoryModel() -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -void Foam::kineticTheoryModel::solve(const volTensorField& gradU1t) -{ - if (!kineticTheory_) - { - return; - } - - const scalar sqrtPi = sqrt(constant::mathematical::pi); - - surfaceScalarField phi(1.5*rho1_*phi1_*fvc::interpolate(alpha1_)); - - volTensorField dU(gradU1t.T()); //fvc::grad(U1_); - volSymmTensorField D(symm(dU)); - - // NB, drag = K*alpha1*alpha2, - // (the alpha1 and alpha2 has been extracted from the drag function for - // numerical reasons) - volScalarField Ur(mag(U1_ - U2_)); - volScalarField alpha2Prim(alpha1_*(1.0 - alpha1_)*drag1_.K(Ur)); - - // Calculating the radial distribution function (solid volume fraction is - // limited close to the packing limit, but this needs improvements) - // The solution is higly unstable close to the packing limit. - gs0_ = radialModel_->g0 - ( - min(max(alpha1_, scalar(1e-6)), alphaMax_ - 0.01), - alphaMax_ - ); - - // particle pressure - coefficient in front of Theta (Eq. 3.22, p. 45) - volScalarField PsCoeff - ( - granularPressureModel_->granularPressureCoeff - ( - alpha1_, - gs0_, - rho1_, - e_ - ) - ); - - // 'thermal' conductivity (Table 3.3, p. 49) - kappa_ = conductivityModel_->kappa(alpha1_, Theta_, gs0_, rho1_, da_, e_); - - // particle viscosity (Table 3.2, p.47) - mu1_ = viscosityModel_->mu1(alpha1_, Theta_, gs0_, rho1_, da_, e_); - - dimensionedScalar Tsmall - ( - "small", - dimensionSet(0 , 2 ,-2 ,0 , 0, 0, 0), - 1.0e-6 - ); - - dimensionedScalar TsmallSqrt = sqrt(Tsmall); - volScalarField ThetaSqrt(sqrt(Theta_)); - - // dissipation (Eq. 3.24, p.50) - volScalarField gammaCoeff - ( - 12.0*(1.0 - sqr(e_))*sqr(alpha1_)*rho1_*gs0_*(1.0/da_)*ThetaSqrt/sqrtPi - ); - - // Eq. 3.25, p. 50 Js = J1 - J2 - volScalarField J1(3.0*alpha2Prim); - volScalarField J2 - ( - 0.25*sqr(alpha2Prim)*da_*sqr(Ur) - /(max(alpha1_, scalar(1e-6))*rho1_*sqrtPi*(ThetaSqrt + TsmallSqrt)) - ); - - // bulk viscosity p. 45 (Lun et al. 1984). - lambda_ = (4.0/3.0)*sqr(alpha1_)*rho1_*da_*gs0_*(1.0+e_)*ThetaSqrt/sqrtPi; - - // stress tensor, Definitions, Table 3.1, p. 43 - volSymmTensorField tau(2.0*mu1_*D + (lambda_ - (2.0/3.0)*mu1_)*tr(D)*I); - - if (!equilibrium_) - { - // construct the granular temperature equation (Eq. 3.20, p. 44) - // NB. note that there are two typos in Eq. 3.20 - // no grad infront of Ps - // wrong sign infront of laplacian - fvScalarMatrix ThetaEqn - ( - fvm::ddt(1.5*alpha1_*rho1_, Theta_) - + fvm::div(phi, Theta_, "div(phi,Theta)") - == - fvm::SuSp(-((PsCoeff*I) && dU), Theta_) - + (tau && dU) - + fvm::laplacian(kappa_, Theta_, "laplacian(kappa,Theta)") - + fvm::Sp(-gammaCoeff, Theta_) - + fvm::Sp(-J1, Theta_) - + fvm::Sp(J2/(Theta_ + Tsmall), Theta_) - ); - - ThetaEqn.relax(); - ThetaEqn.solve(); - } - else - { - // equilibrium => dissipation == production - // Eq. 4.14, p.82 - volScalarField K1(2.0*(1.0 + e_)*rho1_*gs0_); - volScalarField K3 - ( - 0.5*da_*rho1_* - ( - (sqrtPi/(3.0*(3.0-e_))) - *(1.0 + 0.4*(1.0 + e_)*(3.0*e_ - 1.0)*alpha1_*gs0_) - +1.6*alpha1_*gs0_*(1.0 + e_)/sqrtPi - ) - ); - - volScalarField K2 - ( - 4.0*da_*rho1_*(1.0 + e_)*alpha1_*gs0_/(3.0*sqrtPi) - 2.0*K3/3.0 - ); - - volScalarField K4(12.0*(1.0 - sqr(e_))*rho1_*gs0_/(da_*sqrtPi)); - - volScalarField trD(tr(D)); - volScalarField tr2D(sqr(trD)); - volScalarField trD2(tr(D & D)); - - volScalarField t1(K1*alpha1_ + rho1_); - volScalarField l1(-t1*trD); - volScalarField l2(sqr(t1)*tr2D); - volScalarField l3 - ( - 4.0 - *K4 - *max(alpha1_, scalar(1e-6)) - *(2.0*K3*trD2 + K2*tr2D) - ); - - Theta_ = sqr((l1 + sqrt(l2 + l3))/(2.0*(alpha1_ + 1.0e-4)*K4)); - } - - Theta_.max(1.0e-15); - Theta_.min(1.0e+3); - - volScalarField pf - ( - frictionalStressModel_->frictionalPressure - ( - alpha1_, - alphaMinFriction_, - alphaMax_, - Fr_, - eta_, - p_ - ) - ); - - PsCoeff += pf/(Theta_+Tsmall); - - PsCoeff.min(1.0e+10); - PsCoeff.max(-1.0e+10); - - // update particle pressure - pa_ = PsCoeff*Theta_; - - // frictional shear stress, Eq. 3.30, p. 52 - volScalarField muf - ( - frictionalStressModel_->muf - ( - alpha1_, - alphaMax_, - pf, - D, - phi_ - ) - ); - - // add frictional stress - mu1_ += muf; - mu1_.min(1.0e+2); - mu1_.max(0.0); - - Info<< "kinTheory: max(Theta) = " << max(Theta_).value() << endl; - - volScalarField ktn(mu1_/rho1_); - - Info<< "kinTheory: min(nu1) = " << min(ktn).value() - << ", max(nu1) = " << max(ktn).value() << endl; - - Info<< "kinTheory: min(pa) = " << min(pa_).value() - << ", max(pa) = " << max(pa_).value() << endl; -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.H b/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.H deleted file mode 100644 index 28ae38a9dba77271a165d6dff8a0183a86c58081..0000000000000000000000000000000000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.H +++ /dev/null @@ -1,196 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 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::kineticTheoryModel - -Description - -SourceFiles - kineticTheoryModel.C - -\*---------------------------------------------------------------------------*/ - -#ifndef kineticTheoryModel_H -#define kineticTheoryModel_H - -#include "dragModel.H" -#include "phaseModel.H" -#include "autoPtr.H" -#include "viscosityModel.H" -#include "conductivityModel.H" -#include "radialModel.H" -#include "granularPressureModel.H" -#include "frictionalStressModel.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -/*---------------------------------------------------------------------------*\ - Class kineticTheoryModel Declaration -\*---------------------------------------------------------------------------*/ - -class kineticTheoryModel -{ - // Private data - - const phaseModel& phase1_; - const volVectorField& U1_; - const volVectorField& U2_; - const volScalarField& alpha1_; - const surfaceScalarField& phi1_; - - const dragModel& drag1_; - - const dimensionedScalar& rho1_; - const dimensionedScalar& da_; - const dimensionedScalar& nu1_; - - //- dictionary holding the modeling info - IOdictionary kineticTheoryProperties_; - - //- use kinetic theory or not. - Switch kineticTheory_; - - //- use generation == dissipation - Switch equilibrium_; - - autoPtr<kineticTheoryModels::viscosityModel> viscosityModel_; - - autoPtr<conductivityModel> conductivityModel_; - - autoPtr<kineticTheoryModels::radialModel> radialModel_; - - autoPtr<granularPressureModel> granularPressureModel_; - - autoPtr<frictionalStressModel> frictionalStressModel_; - - //- coefficient of restitution - const dimensionedScalar e_; - - //- maximum packing - const dimensionedScalar alphaMax_; - - //- min value for which the frictional stresses are zero - const dimensionedScalar alphaMinFriction_; - - //- material constant for frictional normal stress - const dimensionedScalar Fr_; - - //- material constant for frictional normal stress - const dimensionedScalar eta_; - - //- material constant for frictional normal stress - const dimensionedScalar p_; - - //- angle of internal friction - const dimensionedScalar phi_; - - //- The granular energy/temperature - volScalarField Theta_; - - //- The granular viscosity - volScalarField mu1_; - - //- The granular bulk viscosity - volScalarField lambda_; - - //- The granular pressure - volScalarField pa_; - - //- The granular temperature conductivity - volScalarField kappa_; - - //- The radial distribution function - volScalarField gs0_; - - - // Private Member Functions - - //- Disallow default bitwise copy construct - kineticTheoryModel(const kineticTheoryModel&); - - //- Disallow default bitwise assignment - void operator=(const kineticTheoryModel&); - - -public: - - // Constructors - - //- Construct from components - kineticTheoryModel - ( - const phaseModel& phase1, - const volVectorField& U2, - const volScalarField& alpha1, - const dragModel& drag1 - ); - - - //- Destructor - virtual ~kineticTheoryModel(); - - - // Member Functions - - void solve(const volTensorField& gradU1t); - - bool on() const - { - return kineticTheory_; - } - - const volScalarField& mu1() const - { - return mu1_; - } - - const volScalarField& pa() const - { - return pa_; - } - - const volScalarField& lambda() const - { - return lambda_; - } - - const volScalarField& kappa() const - { - return kappa_; - } -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/radialModel/CarnahanStarling/CarnahanStarlingRadial.C b/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/radialModel/CarnahanStarling/CarnahanStarlingRadial.C deleted file mode 100644 index cfe74982a8878a8dfd0ce25a2c8f64058b10b00b..0000000000000000000000000000000000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/radialModel/CarnahanStarling/CarnahanStarlingRadial.C +++ /dev/null @@ -1,98 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 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 "CarnahanStarlingRadial.H" -#include "addToRunTimeSelectionTable.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ -namespace kineticTheoryModels -{ -namespace radialModels -{ - defineTypeNameAndDebug(CarnahanStarling, 0); - - addToRunTimeSelectionTable - ( - radialModel, - CarnahanStarling, - dictionary - ); -} -} -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::kineticTheoryModels::radialModels::CarnahanStarling::CarnahanStarling -( - const dictionary& dict -) -: - radialModel(dict) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::kineticTheoryModels::radialModels::CarnahanStarling::~CarnahanStarling() -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -Foam::tmp<Foam::volScalarField> -Foam::kineticTheoryModels::radialModels::CarnahanStarling::g0 -( - const volScalarField& alpha, - const dimensionedScalar& alphaMax -) const -{ - - return - 1.0/(1.0 - alpha) - + 3.0*alpha/(2.0*sqr(1.0 - alpha)) - + sqr(alpha)/(2.0*pow(1.0 - alpha, 3)); -} - - -Foam::tmp<Foam::volScalarField> -Foam::kineticTheoryModels::radialModels::CarnahanStarling::g0prime -( - const volScalarField& alpha, - const dimensionedScalar& alphaMax -) const -{ - return - 2.5/sqr(1.0 - alpha) - + 4.0*alpha/pow(1.0 - alpha, 3.0) - + 1.5*sqr(alpha)/pow(1.0 - alpha, 4.0); -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/radialModel/CarnahanStarling/CarnahanStarlingRadial.H b/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/radialModel/CarnahanStarling/CarnahanStarlingRadial.H deleted file mode 100644 index ee61b1809911d29051501b6c5367046eceafa449..0000000000000000000000000000000000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/radialModel/CarnahanStarling/CarnahanStarlingRadial.H +++ /dev/null @@ -1,100 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 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::kineticTheoryModels::radialModels::CarnahanStarling - -Description - -SourceFiles - CarnahanStarlingRadial.C - -\*---------------------------------------------------------------------------*/ - -#ifndef CarnahanStarling_H -#define CarnahanStarling_H - -#include "radialModel.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ -namespace kineticTheoryModels -{ -namespace radialModels -{ - -/*---------------------------------------------------------------------------*\ - Class CarnahanStarling Declaration -\*---------------------------------------------------------------------------*/ - -class CarnahanStarling -: - public radialModel -{ - -public: - - //- Runtime type information - TypeName("CarnahanStarling"); - - - // Constructors - - //- Construct from components - CarnahanStarling(const dictionary& dict); - - - //- Destructor - virtual ~CarnahanStarling(); - - - // Member Functions - - - tmp<volScalarField> g0 - ( - const volScalarField& alpha, - const dimensionedScalar& alphaMax - ) const; - - tmp<volScalarField> g0prime - ( - const volScalarField& alpha, - const dimensionedScalar& alphaMax - ) const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace radialModels -} // End namespace kineticTheoryModels -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/radialModel/LunSavage/LunSavageRadial.C b/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/radialModel/LunSavage/LunSavageRadial.C deleted file mode 100644 index 9f029288dd86f5bb37716308ceeefa74afbaf0ac..0000000000000000000000000000000000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/radialModel/LunSavage/LunSavageRadial.C +++ /dev/null @@ -1,92 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 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 "LunSavageRadial.H" -#include "addToRunTimeSelectionTable.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ -namespace kineticTheoryModels -{ -namespace radialModels -{ - defineTypeNameAndDebug(LunSavage, 0); - - addToRunTimeSelectionTable - ( - radialModel, - LunSavage, - dictionary - ); -} -} -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::kineticTheoryModels::radialModels::LunSavage::LunSavage -( - const dictionary& dict -) -: - radialModel(dict) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::kineticTheoryModels::radialModels::LunSavage::~LunSavage() -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -Foam::tmp<Foam::volScalarField> -Foam::kineticTheoryModels::radialModels::LunSavage::g0 -( - const volScalarField& alpha, - const dimensionedScalar& alphaMax -) const -{ - - return pow(1.0 - alpha/alphaMax, -2.5*alphaMax); -} - - -Foam::tmp<Foam::volScalarField> -Foam::kineticTheoryModels::radialModels::LunSavage::g0prime -( - const volScalarField& alpha, - const dimensionedScalar& alphaMax -) const -{ - return 2.5*pow(1.0 - alpha/alphaMax, -1.0 - 2.5*alphaMax); -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/radialModel/LunSavage/LunSavageRadial.H b/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/radialModel/LunSavage/LunSavageRadial.H deleted file mode 100644 index 81333790fdd41e31d348a867e5f6b5d9109981a3..0000000000000000000000000000000000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/radialModel/LunSavage/LunSavageRadial.H +++ /dev/null @@ -1,99 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 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::kineticTheoryModels::radialModels::LunSavage - -Description - -SourceFiles - LunSavage.C - -\*---------------------------------------------------------------------------*/ - -#ifndef LunSavage_H -#define LunSavage_H - -#include "radialModel.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ -namespace kineticTheoryModels -{ -namespace radialModels -{ - -/*---------------------------------------------------------------------------*\ - Class LunSavage Declaration -\*---------------------------------------------------------------------------*/ - -class LunSavage -: - public radialModel -{ - -public: - - //- Runtime type information - TypeName("LunSavage"); - - - // Constructors - - //- Construct from components - LunSavage(const dictionary& dict); - - - //- Destructor - virtual ~LunSavage(); - - - // Member Functions - - tmp<volScalarField> g0 - ( - const volScalarField& alpha, - const dimensionedScalar& alphaMax - ) const; - - tmp<volScalarField> g0prime - ( - const volScalarField& alpha, - const dimensionedScalar& alphaMax - ) const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace radialModels -} // End namespace kineticTheoryModels -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/radialModel/SinclairJackson/SinclairJacksonRadial.C b/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/radialModel/SinclairJackson/SinclairJacksonRadial.C deleted file mode 100644 index 0109f756b5a95786128c23c68450d1743157ff86..0000000000000000000000000000000000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/radialModel/SinclairJackson/SinclairJacksonRadial.C +++ /dev/null @@ -1,93 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 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 "SinclairJacksonRadial.H" -#include "addToRunTimeSelectionTable.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ -namespace kineticTheoryModels -{ -namespace radialModels -{ - defineTypeNameAndDebug(SinclairJackson, 0); - - addToRunTimeSelectionTable - ( - radialModel, - SinclairJackson, - dictionary - ); -} -} -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::kineticTheoryModels::radialModels::SinclairJackson::SinclairJackson -( - const dictionary& dict -) -: - radialModel(dict) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::kineticTheoryModels::radialModels::SinclairJackson::~SinclairJackson() -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -Foam::tmp<Foam::volScalarField> -Foam::kineticTheoryModels::radialModels::SinclairJackson::g0 -( - const volScalarField& alpha, - const dimensionedScalar& alphaMax -) const -{ - return 1.0/(1.0 - pow(alpha/alphaMax, 1.0/3.0)); -} - - -Foam::tmp<Foam::volScalarField> -Foam::kineticTheoryModels::radialModels::SinclairJackson::g0prime -( - const volScalarField& alpha, - const dimensionedScalar& alphaMax -) const -{ - return - (1.0/3.0)*pow(max(alpha, scalar(1.0e-6))/alphaMax, -2.0/3.0) - /(alphaMax*sqr(1.0 - pow(alpha/alphaMax, 1.0/3.0))); -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/radialModel/SinclairJackson/SinclairJacksonRadial.H b/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/radialModel/SinclairJackson/SinclairJacksonRadial.H deleted file mode 100644 index 56931e9f01b04eced20644f9fd29407d148698de..0000000000000000000000000000000000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/radialModel/SinclairJackson/SinclairJacksonRadial.H +++ /dev/null @@ -1,99 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 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::SinclairJackson - -Description - -SourceFiles - SinclairJacksonRadial.C - -\*---------------------------------------------------------------------------*/ - -#ifndef SinclairJackson_H -#define SinclairJackson_H - -#include "radialModel.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ -namespace kineticTheoryModels -{ -namespace radialModels -{ - -/*---------------------------------------------------------------------------*\ - Class SinclairJackson Declaration -\*---------------------------------------------------------------------------*/ - -class SinclairJackson -: - public radialModel -{ - -public: - - //- Runtime type information - TypeName("SinclairJackson"); - - - // Constructors - - //- Construct from components - SinclairJackson(const dictionary& dict); - - - //- Destructor - virtual ~SinclairJackson(); - - - // Member Functions - - tmp<volScalarField> g0 - ( - const volScalarField& alpha, - const dimensionedScalar& alphaMax - ) const; - - tmp<volScalarField> g0prime - ( - const volScalarField& alpha, - const dimensionedScalar& alphaMax - ) const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace radialModels -} // End namespace kineticTheoryModels -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/radialModel/radialModel/radialModel.C b/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/radialModel/radialModel/radialModel.C deleted file mode 100644 index 0793fa0910a9fd8135e7539067e188b37b43ff43..0000000000000000000000000000000000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/radialModel/radialModel/radialModel.C +++ /dev/null @@ -1,58 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 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 "radialModel.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ -namespace kineticTheoryModels -{ - defineTypeNameAndDebug(radialModel, 0); - - defineRunTimeSelectionTable(radialModel, dictionary); -} -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::kineticTheoryModels::radialModel::radialModel -( - const dictionary& dict -) -: - dict_(dict) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::kineticTheoryModels::radialModel::~radialModel() -{} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/radialModel/radialModel/radialModel.H b/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/radialModel/radialModel/radialModel.H deleted file mode 100644 index e67a02c5c633f080c28b72ce03dd5873c7c984a7..0000000000000000000000000000000000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/radialModel/radialModel/radialModel.H +++ /dev/null @@ -1,132 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 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::kineticTheoryModels::radialModel - -SourceFiles - radialModel.C - -\*---------------------------------------------------------------------------*/ - -#ifndef radialModel_H -#define radialModel_H - -#include "dictionary.H" -#include "volFields.H" -#include "dimensionedTypes.H" -#include "runTimeSelectionTables.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ -namespace kineticTheoryModels -{ - -/*---------------------------------------------------------------------------*\ - Class radialModel Declaration -\*---------------------------------------------------------------------------*/ - -class radialModel -{ - // Private member functions - - //- Disallow default bitwise copy construct - radialModel(const radialModel&); - - //- Disallow default bitwise assignment - void operator=(const radialModel&); - - -protected: - - // Protected data - - const dictionary& dict_; - - -public: - - //- Runtime type information - TypeName("radialModel"); - - // Declare runtime constructor selection table - declareRunTimeSelectionTable - ( - autoPtr, - radialModel, - dictionary, - ( - const dictionary& dict - ), - (dict) - ); - - - // Constructors - - //- Construct from components - radialModel(const dictionary& dict); - - - // Selectors - - static autoPtr<radialModel> New - ( - const dictionary& dict - ); - - - //- Destructor - virtual ~radialModel(); - - - // Member Functions - - //- Radial distribution function - virtual tmp<volScalarField> g0 - ( - const volScalarField& alpha, - const dimensionedScalar& alphaMax - ) const = 0; - - //- Derivative of the radial distribution function - virtual tmp<volScalarField> g0prime - ( - const volScalarField& alpha, - const dimensionedScalar& alphaMax - ) const = 0; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace kineticTheoryModels -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/viscosityModel/Gidaspow/GidaspowViscosity.C b/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/viscosityModel/Gidaspow/GidaspowViscosity.C deleted file mode 100644 index ace82f1ca25d86eba03d4b5ff94d0f07f4e4d7a8..0000000000000000000000000000000000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/viscosityModel/Gidaspow/GidaspowViscosity.C +++ /dev/null @@ -1,84 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 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 "GidaspowViscosity.H" -#include "mathematicalConstants.H" -#include "addToRunTimeSelectionTable.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ -namespace kineticTheoryModels -{ - defineTypeNameAndDebug(GidaspowViscosity, 0); - addToRunTimeSelectionTable(viscosityModel, GidaspowViscosity, dictionary); -} -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::kineticTheoryModels::GidaspowViscosity::GidaspowViscosity -( - const dictionary& dict -) -: - viscosityModel(dict) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::kineticTheoryModels::GidaspowViscosity::~GidaspowViscosity() -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -Foam::tmp<Foam::volScalarField> -Foam::kineticTheoryModels::GidaspowViscosity::mu1 -( - const volScalarField& alpha1, - const volScalarField& Theta, - const volScalarField& g0, - const dimensionedScalar& rho1, - const dimensionedScalar& da, - const dimensionedScalar& e -) const -{ - const scalar sqrtPi = sqrt(constant::mathematical::pi); - - return rho1*da*sqrt(Theta)* - ( - (4.0/5.0)*sqr(alpha1)*g0*(1.0 + e)/sqrtPi - + (1.0/15.0)*sqrtPi*g0*(1.0 + e)*sqr(alpha1) - + (1.0/6.0)*sqrtPi*alpha1 - + (10.0/96.0)*sqrtPi/((1.0 + e)*g0) - ); -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/viscosityModel/Gidaspow/GidaspowViscosity.H b/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/viscosityModel/Gidaspow/GidaspowViscosity.H deleted file mode 100644 index cb6752b9002ab30da97d04023426dfb7e5fd763f..0000000000000000000000000000000000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/viscosityModel/Gidaspow/GidaspowViscosity.H +++ /dev/null @@ -1,93 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 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::GidaspowViscosity - -Description - -SourceFiles - GidaspowViscosity.C - -\*---------------------------------------------------------------------------*/ - -#ifndef GidaspowViscosity_H -#define GidaspowViscosity_H - -#include "viscosityModel.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ -namespace kineticTheoryModels -{ - -/*---------------------------------------------------------------------------*\ - Class GidaspowViscosity Declaration -\*---------------------------------------------------------------------------*/ - -class GidaspowViscosity -: - public viscosityModel -{ - -public: - - //- Runtime type information - TypeName("Gidaspow"); - - // Constructors - - //- Construct from components - GidaspowViscosity(const dictionary& dict); - - - //- Destructor - virtual ~GidaspowViscosity(); - - - // Member functions - - tmp<volScalarField> mu1 - ( - const volScalarField& alpha1, - const volScalarField& Theta, - const volScalarField& g0, - const dimensionedScalar& rho1, - const dimensionedScalar& da, - const dimensionedScalar& e - ) const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace kineticTheoryModels -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/viscosityModel/HrenyaSinclair/HrenyaSinclairViscosity.C b/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/viscosityModel/HrenyaSinclair/HrenyaSinclairViscosity.C deleted file mode 100644 index b20aee618177b157e0fc8d5d2b4e477bd65fe062..0000000000000000000000000000000000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/viscosityModel/HrenyaSinclair/HrenyaSinclairViscosity.C +++ /dev/null @@ -1,97 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 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 "HrenyaSinclairViscosity.H" -#include "mathematicalConstants.H" -#include "addToRunTimeSelectionTable.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ -namespace kineticTheoryModels -{ - defineTypeNameAndDebug(HrenyaSinclairViscosity, 0); - - addToRunTimeSelectionTable - ( - viscosityModel, - HrenyaSinclairViscosity, - dictionary - ); -} -} - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::kineticTheoryModels::HrenyaSinclairViscosity::HrenyaSinclairViscosity -( - const dictionary& dict -) -: - viscosityModel(dict), - coeffsDict_(dict.subDict(typeName + "Coeffs")), - L_(coeffsDict_.lookup("L")) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::kineticTheoryModels::HrenyaSinclairViscosity::~HrenyaSinclairViscosity() -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -Foam::tmp<Foam::volScalarField> -Foam::kineticTheoryModels::HrenyaSinclairViscosity::mu1 -( - const volScalarField& alpha1, - const volScalarField& Theta, - const volScalarField& g0, - const dimensionedScalar& rho1, - const dimensionedScalar& da, - const dimensionedScalar& e -) const -{ - const scalar sqrtPi = sqrt(constant::mathematical::pi); - - volScalarField lamda - ( - scalar(1) + da/(6.0*sqrt(2.0)*(alpha1 + scalar(1.0e-5)))/L_ - ); - - return rho1*da*sqrt(Theta)* - ( - (4.0/5.0)*sqr(alpha1)*g0*(1.0 + e)/sqrtPi - + (1.0/15.0)*sqrtPi*g0*(1.0 + e)*(3.0*e - 1)*sqr(alpha1)/(3.0-e) - + (1.0/6.0)*sqrtPi*alpha1*(0.5*lamda + 0.25*(3.0*e - 1.0)) - /(0.5*(3.0 - e)*lamda) - + (10/96.0)*sqrtPi/((1.0 + e)*0.5*(3.0 - e)*g0*lamda) - ); -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/viscosityModel/HrenyaSinclair/HrenyaSinclairViscosity.H b/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/viscosityModel/HrenyaSinclair/HrenyaSinclairViscosity.H deleted file mode 100644 index 1b53c14b366398f088361f654e9c5dcec79f7d46..0000000000000000000000000000000000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/viscosityModel/HrenyaSinclair/HrenyaSinclairViscosity.H +++ /dev/null @@ -1,101 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 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::HrenyaSinclairViscosity - -Description - -SourceFiles - HrenyaSinclairViscosity.C - -\*---------------------------------------------------------------------------*/ - -#ifndef HrenyaSinclairViscosity_H -#define HrenyaSinclairViscosity_H - -#include "viscosityModel.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ -namespace kineticTheoryModels -{ - -/*---------------------------------------------------------------------------*\ - Class HrenyaSinclairViscosity Declaration -\*---------------------------------------------------------------------------*/ - -class HrenyaSinclairViscosity -: - public viscosityModel -{ - // Private data - - dictionary coeffsDict_; - - //- characteristic length of geometry - dimensionedScalar L_; - - -public: - - //- Runtime type information - TypeName("HrenyaSinclair"); - - - // Constructors - - //- Construct from components - HrenyaSinclairViscosity(const dictionary& dict); - - - //- Destructor - virtual ~HrenyaSinclairViscosity(); - - - // Member functions - - tmp<volScalarField> mu1 - ( - const volScalarField& alpha1, - const volScalarField& Theta, - const volScalarField& g0, - const dimensionedScalar& rho1, - const dimensionedScalar& da, - const dimensionedScalar& e - ) const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace kineticTheoryModels -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/viscosityModel/Syamlal/SyamlalViscosity.C b/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/viscosityModel/Syamlal/SyamlalViscosity.C deleted file mode 100644 index 2d85163759ef412804d788a824a7cbd36eeb89a9..0000000000000000000000000000000000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/viscosityModel/Syamlal/SyamlalViscosity.C +++ /dev/null @@ -1,82 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 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 "SyamlalViscosity.H" -#include "mathematicalConstants.H" -#include "addToRunTimeSelectionTable.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ -namespace kineticTheoryModels -{ - defineTypeNameAndDebug(SyamlalViscosity, 0); - addToRunTimeSelectionTable(viscosityModel, SyamlalViscosity, dictionary); -} -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::kineticTheoryModels::SyamlalViscosity::SyamlalViscosity -( - const dictionary& dict -) -: - viscosityModel(dict) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::kineticTheoryModels::SyamlalViscosity::~SyamlalViscosity() -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -Foam::tmp<Foam::volScalarField> Foam::kineticTheoryModels::SyamlalViscosity::mu1 -( - const volScalarField& alpha1, - const volScalarField& Theta, - const volScalarField& g0, - const dimensionedScalar& rho1, - const dimensionedScalar& da, - const dimensionedScalar& e -) const -{ - const scalar sqrtPi = sqrt(constant::mathematical::pi); - - return rho1*da*sqrt(Theta)* - ( - (4.0/5.0)*sqr(alpha1)*g0*(1.0 + e)/sqrtPi - + (1.0/15.0)*sqrtPi*g0*(1.0 + e)*(3.0*e - 1.0)*sqr(alpha1)/(3.0 - e) - + (1.0/6.0)*alpha1*sqrtPi/(3.0 - e) - ); -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/viscosityModel/Syamlal/SyamlalViscosity.H b/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/viscosityModel/Syamlal/SyamlalViscosity.H deleted file mode 100644 index 9c76cce74d1196e7b10ad6e4709701c8f2d2d366..0000000000000000000000000000000000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/viscosityModel/Syamlal/SyamlalViscosity.H +++ /dev/null @@ -1,94 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 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::SyamlalViscosity - -Description - -SourceFiles - SyamlalViscosity.C - -\*---------------------------------------------------------------------------*/ - -#ifndef SyamlalViscosity_H -#define SyamlalViscosity_H - -#include "viscosityModel.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ -namespace kineticTheoryModels -{ - -/*---------------------------------------------------------------------------*\ - Class SyamlalViscosity Declaration -\*---------------------------------------------------------------------------*/ - -class SyamlalViscosity -: - public viscosityModel -{ - -public: - - //- Runtime type information - TypeName("Syamlal"); - - - // Constructors - - //- Construct from components - SyamlalViscosity(const dictionary& dict); - - - //- Destructor - virtual ~SyamlalViscosity(); - - - // Member functions - - tmp<volScalarField> mu1 - ( - const volScalarField& alpha1, - const volScalarField& Theta, - const volScalarField& g0, - const dimensionedScalar& rho1, - const dimensionedScalar& da, - const dimensionedScalar& e - ) const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace kineticTheoryModels -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/viscosityModel/none/noneViscosity.C b/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/viscosityModel/none/noneViscosity.C deleted file mode 100644 index ba42c2bca3053a04cd5c302072c4d45b6b8b594b..0000000000000000000000000000000000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/viscosityModel/none/noneViscosity.C +++ /dev/null @@ -1,75 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 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 "noneViscosity.H" -#include "addToRunTimeSelectionTable.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ -namespace kineticTheoryModels -{ - defineTypeNameAndDebug(noneViscosity, 0); - addToRunTimeSelectionTable(viscosityModel, noneViscosity, dictionary); -} -} - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::kineticTheoryModels::noneViscosity::noneViscosity(const dictionary& dict) -: - viscosityModel(dict) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::kineticTheoryModels::noneViscosity::~noneViscosity() -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -Foam::tmp<Foam::volScalarField> Foam::kineticTheoryModels::noneViscosity::mu1 -( - const volScalarField& alpha1, - const volScalarField& Theta, - const volScalarField& g0, - const dimensionedScalar& rho1, - const dimensionedScalar& da, - const dimensionedScalar& e -) const -{ - return dimensionedScalar - ( - "0", - dimensionSet(1, -1, -1, 0, 0, 0, 0), - 0.0 - )*alpha1; -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/viscosityModel/none/noneViscosity.H b/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/viscosityModel/none/noneViscosity.H deleted file mode 100644 index 6a175c6274f5cf7d2c823efeca7b7fcc271ca449..0000000000000000000000000000000000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/viscosityModel/none/noneViscosity.H +++ /dev/null @@ -1,94 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 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::noneViscosity - -Description - -SourceFiles - noneViscosity.C - -\*---------------------------------------------------------------------------*/ - -#ifndef noneViscosity_H -#define noneViscosity_H - -#include "viscosityModel.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ -namespace kineticTheoryModels -{ - -/*---------------------------------------------------------------------------*\ - Class noneViscosity Declaration -\*---------------------------------------------------------------------------*/ - -class noneViscosity -: - public viscosityModel -{ - -public: - - //- Runtime type information - TypeName("none"); - - - // Constructors - - //- Construct from components - noneViscosity(const dictionary& dict); - - - //- Destructor - virtual ~noneViscosity(); - - - // Member functions - - tmp<volScalarField> mu1 - ( - const volScalarField& alpha1, - const volScalarField& Theta, - const volScalarField& g0, - const dimensionedScalar& rho1, - const dimensionedScalar& da, - const dimensionedScalar& e - ) const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace kineticTheoryModels -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/viscosityModel/viscosityModel/newViscosityModel.C b/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/viscosityModel/viscosityModel/newViscosityModel.C deleted file mode 100644 index 2b50f093599b2a2043c30e6ea7dd68733f9f0692..0000000000000000000000000000000000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/viscosityModel/viscosityModel/newViscosityModel.C +++ /dev/null @@ -1,59 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 2011 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 "viscosityModel.H" - -// * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * * // - -Foam::autoPtr<Foam::kineticTheoryModels::viscosityModel> -Foam::kineticTheoryModels::viscosityModel::New -( - const dictionary& dict -) -{ - word viscosityModelType(dict.lookup("viscosityModel")); - - Info<< "Selecting viscosityModel " - << viscosityModelType << endl; - - dictionaryConstructorTable::iterator cstrIter = - dictionaryConstructorTablePtr_->find(viscosityModelType); - - if (cstrIter == dictionaryConstructorTablePtr_->end()) - { - FatalError - << "viscosityModel::New(const dictionary&) : " << endl - << " unknown viscosityModelType type " - << viscosityModelType - << ", constructor not in hash table" << endl << endl - << " Valid viscosityModelType types are :" << endl; - Info<< dictionaryConstructorTablePtr_->sortedToc() << abort(FatalError); - } - - return autoPtr<viscosityModel>(cstrIter()(dict)); -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/viscosityModel/viscosityModel/viscosityModel.H b/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/viscosityModel/viscosityModel/viscosityModel.H deleted file mode 100644 index fbc2579711bd789532114186464912021b4685af..0000000000000000000000000000000000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/viscosityModel/viscosityModel/viscosityModel.H +++ /dev/null @@ -1,130 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 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::viscosityModel - -Description - -SourceFiles - viscosityModel.C - -\*---------------------------------------------------------------------------*/ - -#ifndef viscosityModel_H -#define viscosityModel_H - -#include "dictionary.H" -#include "volFields.H" -#include "dimensionedTypes.H" -#include "runTimeSelectionTables.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ -namespace kineticTheoryModels -{ - -/*---------------------------------------------------------------------------*\ - Class viscosityModel Declaration -\*---------------------------------------------------------------------------*/ - -class viscosityModel -{ - // Private member functions - - //- Disallow default bitwise copy construct - viscosityModel(const viscosityModel&); - - //- Disallow default bitwise assignment - void operator=(const viscosityModel&); - - -protected: - - // Protected data - - const dictionary& dict_; - - -public: - - //- Runtime type information - TypeName("viscosityModel"); - - // Declare runtime constructor selection table - declareRunTimeSelectionTable - ( - autoPtr, - viscosityModel, - dictionary, - ( - const dictionary& dict - ), - (dict) - ); - - - // Constructors - - //- Construct from components - viscosityModel(const dictionary& dict); - - - // Selectors - - static autoPtr<viscosityModel> New - ( - const dictionary& dict - ); - - - //- Destructor - virtual ~viscosityModel(); - - - // Member Functions - - virtual tmp<volScalarField> mu1 - ( - const volScalarField& alpha1, - const volScalarField& Theta, - const volScalarField& g0, - const dimensionedScalar& rho1, - const dimensionedScalar& da, - const dimensionedScalar& e - ) const = 0; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace kineticTheoryModels -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/liftDragCoeffs.H b/applications/solvers/multiphase/twoPhaseEulerFoam/liftDragCoeffs.H deleted file mode 100644 index 415afe9483b29fe4c3d4379582b480529134e4df..0000000000000000000000000000000000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/liftDragCoeffs.H +++ /dev/null @@ -1,31 +0,0 @@ - volVectorField Ur(U1 - U2); - volScalarField magUr(mag(Ur) + residualSlip); - - volScalarField Ka(drag1->K(magUr)); - volScalarField K(Ka); - - if (dragPhase == "2") - { - volScalarField Kb(drag2->K(magUr)); - K = Kb; - } - else if (dragPhase == "blended") - { - volScalarField Kb(drag2->K(magUr)); - K = (alpha2*Ka + alpha1*Kb); - } - - volVectorField liftCoeff - ( - Cl*(alpha2*rho2 + alpha1*rho1)*(Ur ^ fvc::curl(U)) - ); - - // Remove lift and drag at fixed-flux boundaries - forAll(phi1.boundaryField(), patchi) - { - if (isA<fixedValueFvsPatchScalarField>(phi1.boundaryField()[patchi])) - { - K.boundaryField()[patchi] = 0.0; - liftCoeff.boundaryField()[patchi] = vector::zero; - } - } diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/newVirtualMass/DDtU.H b/applications/solvers/multiphase/twoPhaseEulerFoam/newVirtualMass/DDtU.H deleted file mode 100644 index 9ce45379797d70162ebfa36c3361813bd6882375..0000000000000000000000000000000000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/newVirtualMass/DDtU.H +++ /dev/null @@ -1,11 +0,0 @@ -{ - DDtU1 = - fvc::ddt(U1) - + fvc::div(phi, U1) - - fvc::div(phi)*U1; - - DDtU2 = - fvc::ddt(U2) - + fvc::div(phi, U2) - - fvc::div(phi)*U2; -} diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/newVirtualMass/UEqns.H b/applications/solvers/multiphase/twoPhaseEulerFoam/newVirtualMass/UEqns.H deleted file mode 100644 index cae326e44a2d13a03349bef25abf4a3202b9b2c8..0000000000000000000000000000000000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/newVirtualMass/UEqns.H +++ /dev/null @@ -1,120 +0,0 @@ -fvVectorMatrix U1Eqn(U1, U1.dimensions()*dimVol/dimTime); -fvVectorMatrix U2Eqn(U2, U2.dimensions()*dimVol/dimTime); - -{ - volScalarField Cvma - ( - Cvm - /( - 1 - + mag(fvc::grad(alpha1)) - *dimensionedScalar("l", dimLength, 1e-2) - ) - ); - - { - volTensorField gradU1T(T(fvc::grad(U1))); - - if (kineticTheory.on()) - { - kineticTheory.solve(gradU1T); - nuEff1 = kineticTheory.mu1()/rho1; - } - else // If not using kinetic theory is using Ct model - { - nuEff1 = sqr(Ct)*nut2 + nu1; - } - - volTensorField Rc1 - ( - "Rc1", - (((2.0/3.0)*I)*nuEff1)*tr(gradU1T) - nuEff1*gradU1T - ); - - if (kineticTheory.on()) - { - Rc1 -= ((kineticTheory.lambda()/rho1)*tr(gradU1T))*tensor(I); - } - - surfaceScalarField phiR1 - ( - -fvc::interpolate(nuEff1)*mesh.magSf()*fvc::snGrad(alpha1) - /fvc::interpolate(alpha1 + scalar(0.001)) - ); - - U1Eqn = - ( - fvm::ddt(U1) - + fvm::div(phi1, U1) - - fvm::Sp(fvc::div(phi1), U1) - - + Cvma*alpha2*rho/rho1* - ( - fvm::ddt(U1) - + fvm::div(phi, U1) - - fvm::Sp(fvc::div(phi), U1) - ) - - - fvm::laplacian(nuEff1, U1) - + fvc::div(Rc1) - - + fvm::div(phiR1, U1, "div(phi1,U1)") - - fvm::Sp(fvc::div(phiR1), U1) - + (fvc::grad(alpha1)/(fvc::average(alpha1) + scalar(0.001)) & Rc1) - == - // g // Buoyancy term transfered to p-equation - - fvm::Sp(alpha2/rho1*K, U1) - //+ alpha2/rho1*K*U2 // Explicit drag transfered to p-equation - // - fvm::Sp(K/rho1, U1) - ////+ K/rho1*U // Explicit drag transfered to p-equation - - alpha2/rho1*liftCoeff + Cvma*alpha2*rho*DDtU2/rho1 - ); - - U1Eqn.relax(); - } - - { - volTensorField gradU2T(T(fvc::grad(U2))); - volTensorField Rc2 - ( - "Rc2", - (((2.0/3.0)*I)*nuEff2)*tr(gradU2T) - nuEff2*gradU2T - ); - - surfaceScalarField phiR2 - ( - -fvc::interpolate(nuEff2)*mesh.magSf()*fvc::snGrad(alpha2) - /fvc::interpolate(alpha2 + scalar(0.001)) - ); - - U2Eqn = - ( - fvm::ddt(U2) - + fvm::div(phi2, U2) - - fvm::Sp(fvc::div(phi2), U2) - - + Cvma*alpha1*rho/rho2* - ( - fvm::ddt(U2) - + fvm::div(phi, U2) - - fvm::Sp(fvc::div(phi), U2) - ) - - - fvm::laplacian(nuEff2, U2) - + fvc::div(Rc2) - - + fvm::div(phiR2, U2, "div(phi2,U2)") - - fvm::Sp(fvc::div(phiR2), U2) - + (fvc::grad(alpha2)/(fvc::average(alpha2) + scalar(0.001)) & Rc2) - == - // g // Buoyancy term transfered to p-equation - - fvm::Sp(alpha1/rho2*K, U2) - //+ alpha1/rho2*K*U1 // Explicit drag transfered to p-equation - // - fvm::Sp(K/rho2, U2) - ////+ K/rho2*U // Explicit drag transfered to p-equation - + alpha1/rho2*liftCoeff + Cvma*alpha1*rho*DDtU1/rho2 - ); - - U2Eqn.relax(); - } -} diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/pEqn.H b/applications/solvers/multiphase/twoPhaseEulerFoam/pEqn.H index 546e1a3e41f20ca419bc147ec3572a244ea879e5..e9211def7f4054b279e3cf16f5c4f1bd938f0dc3 100644 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/pEqn.H +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/pEqn.H @@ -2,16 +2,24 @@ surfaceScalarField alpha1f(fvc::interpolate(alpha1)); surfaceScalarField alpha2f(scalar(1) - alpha1f); - volScalarField rAU1(1.0/U1Eqn.A()); - volScalarField rAU2(1.0/U2Eqn.A()); + rAU1 = 1.0/U1Eqn.A(); + rAU2 = 1.0/U2Eqn.A(); - rAU1f = 1.0/fvc::interpolate(U1Eqn.A()); - surfaceScalarField rAU2f(1.0/fvc::interpolate(U2Eqn.A())); + surfaceScalarField rAlphaAU1f(fvc::interpolate(alpha1*rAU1)); + surfaceScalarField rAlphaAU2f(fvc::interpolate(alpha2*rAU2)); - volVectorField HbyA1("HbyA1", U1); + volVectorField HbyA1 + ( + IOobject::groupName("HbyA", phase1.name()), + U1 + ); HbyA1 = rAU1*U1Eqn.H(); - volVectorField HbyA2("HbyA2", U2); + volVectorField HbyA2 + ( + IOobject::groupName("HbyA", phase2.name()), + U2 + ); HbyA2 = rAU2*U2Eqn.H(); mrfZones.absoluteFlux(phi1.oldTime()); @@ -19,30 +27,34 @@ mrfZones.absoluteFlux(phi2.oldTime()); mrfZones.absoluteFlux(phi2); - surfaceScalarField ppDrag("ppDrag", 0.0*phi1); - - if (g0.value() > 0.0) - { - ppDrag -= ppMagf*fvc::snGrad(alpha1)*mesh.magSf(); - } + // Phase-1 pressure flux (e.g. due to particle-particle pressure) + surfaceScalarField phiP1 + ( + "phiP1", + fvc::interpolate((1.0/rho1)*rAU1*turbulence1().pPrime()) + *fvc::snGrad(alpha1)*mesh.magSf() + ); - if (kineticTheory.on()) - { - ppDrag -= rAU1f*fvc::snGrad(kineticTheory.pa()/rho1)*mesh.magSf(); - } + // Phase-2 pressure flux (e.g. due to particle-particle pressure) + surfaceScalarField phiP2 + ( + "phiP2", + fvc::interpolate((1.0/rho2)*rAU2*turbulence2().pPrime()) + *fvc::snGrad(alpha2)*mesh.magSf() + ); surfaceScalarField phiHbyA1 ( - "phiHbyA1", + IOobject::groupName("phiHbyA", phase1.name()), (fvc::interpolate(HbyA1) & mesh.Sf()) - + fvc::ddtPhiCorr(rAU1, U1, phi1) + + fvc::ddtPhiCorr(rAU1, alpha1, U1, phi1) ); surfaceScalarField phiHbyA2 ( - "phiHbyA2", + IOobject::groupName("phiHbyA", phase2.name()), (fvc::interpolate(HbyA2) & mesh.Sf()) - + fvc::ddtPhiCorr(rAU2, U2, phi2) + + fvc::ddtPhiCorr(rAU2, alpha2, U2, phi2) ); phi = alpha1f*phiHbyA1 + alpha2f*phiHbyA2; @@ -50,16 +62,17 @@ phiHbyA1 += ( - fvc::interpolate(alpha2/rho1*K*rAU1)*phi2 - + ppDrag - + rAU1f*(g & mesh.Sf()) + fvc::interpolate((1.0/rho1)*rAU1*dragCoeff)*phi2 + - phiP1 + + rAlphaAU1f*(g & mesh.Sf()) ); mrfZones.relativeFlux(phiHbyA1); phiHbyA2 += ( - fvc::interpolate(alpha1/rho2*K*rAU2)*phi1 - + rAU2f*(g & mesh.Sf()) + fvc::interpolate((1.0/rho2)*rAU2*dragCoeff)*phi1 + - phiP2 + + rAlphaAU2f*(g & mesh.Sf()) ); mrfZones.relativeFlux(phiHbyA2); @@ -70,55 +83,145 @@ surfaceScalarField phiHbyA("phiHbyA", alpha1f*phiHbyA1 + alpha2f*phiHbyA2); - HbyA1 += alpha2*(1.0/rho1)*rAU1*K*U2; - HbyA2 += alpha1*(1.0/rho2)*rAU2*K*U1; + HbyA1 += (1.0/rho1)*rAU1*dragCoeff*U2; + HbyA2 += (1.0/rho2)*rAU2*dragCoeff*U1; surfaceScalarField Dp ( "Dp", - alpha1f*rAU1f/rho1 + alpha2f*rAU2f/rho2 + mag + ( + alpha1f*rAlphaAU1f/fvc::interpolate(rho1) + + alpha2f*rAlphaAU2f/fvc::interpolate(rho2) + ) ); - while (pimple.correctNonOrthogonal()) + tmp<fvScalarMatrix> pEqnComp1; + tmp<fvScalarMatrix> pEqnComp2; + + if (pimple.transonic()) { - fvScalarMatrix pEqn + surfaceScalarField phid1 + ( + IOobject::groupName("phid", phase1.name()), + fvc::interpolate(psi1)*phi1 + ); + surfaceScalarField phid2 ( - fvm::laplacian(Dp, p) == fvc::div(phiHbyA) + IOobject::groupName("phid", phase2.name()), + fvc::interpolate(psi2)*phi2 ); - pEqn.setReference(pRefCell, pRefValue); + pEqnComp1 = + fvc::ddt(rho1) + + fvc::div(phi1, rho1) - fvc::Sp(fvc::div(phi1), rho1) + + correction + ( + psi1*fvm::ddt(p) + + fvm::div(phid1, p) - fvm::Sp(fvc::div(phid1), p) + ); + deleteDemandDrivenData(pEqnComp1().faceFluxCorrectionPtr()); + pEqnComp1().relax(); + + pEqnComp2 = + fvc::ddt(rho2) + + fvc::div(phi2, rho2) - fvc::Sp(fvc::div(phi2), rho2) + + correction + ( + psi2*fvm::ddt(p) + + fvm::div(phid2, p) - fvm::Sp(fvc::div(phid2), p) + ); + deleteDemandDrivenData(pEqnComp2().faceFluxCorrectionPtr()); + pEqnComp2().relax(); + } + else + { + pEqnComp1 = + fvc::ddt(rho1) + psi1*correction(fvm::ddt(p)) + + fvc::div(phi1, rho1) - fvc::Sp(fvc::div(phi1), rho1); + + pEqnComp2 = + fvc::ddt(rho2) + psi2*correction(fvm::ddt(p)) + + fvc::div(phi2, rho2) - fvc::Sp(fvc::div(phi2), rho2); + } - pEqn.solve(mesh.solver(p.select(pimple.finalInnerIter()))); + // Cache p prior to solve for density update + volScalarField p_0(p); + + while (pimple.correctNonOrthogonal()) + { + fvScalarMatrix pEqnIncomp + ( + fvc::div(phiHbyA) + - fvm::laplacian(Dp, p) + ); + + solve + ( + ( + (alpha1/rho1)*pEqnComp1() + + (alpha2/rho2)*pEqnComp2() + ) + + pEqnIncomp, + mesh.solver(p.select(pimple.finalInnerIter())) + ); if (pimple.finalNonOrthogonalIter()) { - surfaceScalarField SfGradp(pEqn.flux()/Dp); + surfaceScalarField mSfGradp(pEqnIncomp.flux()/Dp); - phi1 = phiHbyA1 - rAU1f*SfGradp/rho1; - phi2 = phiHbyA2 - rAU2f*SfGradp/rho2; + phi1 = phiHbyA1 + rAlphaAU1f*mSfGradp/fvc::interpolate(rho1); + phi2 = phiHbyA2 + rAlphaAU2f*mSfGradp/fvc::interpolate(rho2); phi = alpha1f*phi1 + alpha2f*phi2; + dgdt = + ( + pos(alpha2)*(pEqnComp2 & p)/rho2 + - pos(alpha1)*(pEqnComp1 & p)/rho1 + ); + p.relax(); - SfGradp = pEqn.flux()/Dp; + mSfGradp = pEqnIncomp.flux()/Dp; U1 = HbyA1 - + fvc::reconstruct - ( - ppDrag - + rAU1f*((g & mesh.Sf()) - SfGradp/rho1) - ); + + fvc::reconstruct + ( + rAlphaAU1f + *( + (g & mesh.Sf()) + + mSfGradp/fvc::interpolate(rho1) + ) + - phiP1 + ); U1.correctBoundaryConditions(); U2 = HbyA2 - + fvc::reconstruct - ( - rAU2f*((g & mesh.Sf()) - SfGradp/rho2) - ); + + fvc::reconstruct + ( + rAlphaAU2f + *( + (g & mesh.Sf()) + + mSfGradp/fvc::interpolate(rho2) + ) + - phiP2 + ); U2.correctBoundaryConditions(); - U = alpha1*U1 + alpha2*U2; + U = fluid.U(); } } -} -#include "continuityErrs.H" + p = max(p, pMin); + + // Update densities from change in p + rho1 += psi1*(p - p_0); + rho2 += psi2*(p - p_0); + + K1 = 0.5*magSqr(U1); + K2 = 0.5*magSqr(U2); + + if (thermo1.dpdt() || thermo2.dpdt()) + { + dpdt = fvc::ddt(p); + } +} diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/packingLimiter.H b/applications/solvers/multiphase/twoPhaseEulerFoam/packingLimiter.H deleted file mode 100644 index 249f1035a19fffe95efe6b378c96bfb275858a2d..0000000000000000000000000000000000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/packingLimiter.H +++ /dev/null @@ -1,36 +0,0 @@ - if (packingLimiter) - { - // Calculating exceeding volume fractions - volScalarField alpha1Ex(max(alpha1 - alphaMax, scalar(0))); - - // Finding neighbouring cells of the whole domain - labelListList neighbour = mesh.cellCells(); - scalarField cellVolumes(mesh.cellVolumes()); - - forAll (alpha1Ex, celli) - { - // Finding the labels of the neighbouring cells - labelList neighbourCell = neighbour[celli]; - - // Initializing neighbouring cells contribution - scalar neighboursEx = 0.0; - - forAll (neighbourCell, cellj) - { - labelList neighboursNeighbour = neighbour[neighbourCell[cellj]]; - scalar neighboursNeighbourCellVolumes = 0.0; - - forAll (neighboursNeighbour, cellk) - { - neighboursNeighbourCellVolumes += - cellVolumes[neighboursNeighbour[cellk]]; - } - - neighboursEx += - alpha1Ex[neighbourCell[cellj]]*cellVolumes[celli] - /neighboursNeighbourCellVolumes; - } - - alpha1[celli] += neighboursEx - alpha1Ex[celli]; - } - } diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/Make/files b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/Make/files similarity index 100% rename from applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/Make/files rename to applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/Make/files diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/Make/options b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/Make/options similarity index 100% rename from applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/Make/options rename to applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/Make/options diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/Gidaspow/GidaspowConductivity.C b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/Gidaspow/GidaspowConductivity.C similarity index 100% rename from applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/Gidaspow/GidaspowConductivity.C rename to applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/Gidaspow/GidaspowConductivity.C diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/Gidaspow/GidaspowConductivity.H b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/Gidaspow/GidaspowConductivity.H similarity index 100% rename from applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/Gidaspow/GidaspowConductivity.H rename to applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/Gidaspow/GidaspowConductivity.H diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/HrenyaSinclair/HrenyaSinclairConductivity.C b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/HrenyaSinclair/HrenyaSinclairConductivity.C similarity index 100% rename from applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/HrenyaSinclair/HrenyaSinclairConductivity.C rename to applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/HrenyaSinclair/HrenyaSinclairConductivity.C diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/HrenyaSinclair/HrenyaSinclairConductivity.H b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/HrenyaSinclair/HrenyaSinclairConductivity.H similarity index 100% rename from applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/HrenyaSinclair/HrenyaSinclairConductivity.H rename to applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/HrenyaSinclair/HrenyaSinclairConductivity.H diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/Syamlal/SyamlalConductivity.C b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/Syamlal/SyamlalConductivity.C similarity index 100% rename from applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/Syamlal/SyamlalConductivity.C rename to applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/Syamlal/SyamlalConductivity.C diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/Syamlal/SyamlalConductivity.H b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/Syamlal/SyamlalConductivity.H similarity index 100% rename from applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/Syamlal/SyamlalConductivity.H rename to applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/Syamlal/SyamlalConductivity.H diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/conductivityModel/conductivityModel.C b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/conductivityModel/conductivityModel.C similarity index 96% rename from applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/conductivityModel/conductivityModel.C rename to applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/conductivityModel/conductivityModel.C index 145f10e2188ac3568107574fec9d93e6a0428b1f..1430854afb8c5970b2e2cb983e6ba66860343716 100644 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/conductivityModel/conductivityModel.C +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/conductivityModel/conductivityModel.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/conductivityModel/conductivityModel.H b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/conductivityModel/conductivityModel.H similarity index 100% rename from applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/conductivityModel/conductivityModel.H rename to applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/conductivityModel/conductivityModel.H diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/conductivityModel/newConductivityModel.C b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/conductivityModel/newConductivityModel.C similarity index 96% rename from applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/conductivityModel/newConductivityModel.C rename to applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/conductivityModel/newConductivityModel.C index 21aa88ec6671b57c167c1d514c29d9b6e48a4cb5..7f4b9f6359275ebe60c376db2f3c36f427bededb 100644 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/conductivityModel/newConductivityModel.C +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/conductivityModel/newConductivityModel.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/JohnsonJackson/JohnsonJacksonFrictionalStress.C b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/JohnsonJackson/JohnsonJacksonFrictionalStress.C similarity index 100% rename from applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/JohnsonJackson/JohnsonJacksonFrictionalStress.C rename to applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/JohnsonJackson/JohnsonJacksonFrictionalStress.C diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/JohnsonJackson/JohnsonJacksonFrictionalStress.H b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/JohnsonJackson/JohnsonJacksonFrictionalStress.H similarity index 100% rename from applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/JohnsonJackson/JohnsonJacksonFrictionalStress.H rename to applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/JohnsonJackson/JohnsonJacksonFrictionalStress.H diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/Schaeffer/SchaefferFrictionalStress.C b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/Schaeffer/SchaefferFrictionalStress.C similarity index 100% rename from applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/Schaeffer/SchaefferFrictionalStress.C rename to applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/Schaeffer/SchaefferFrictionalStress.C diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/Schaeffer/SchaefferFrictionalStress.H b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/Schaeffer/SchaefferFrictionalStress.H similarity index 100% rename from applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/Schaeffer/SchaefferFrictionalStress.H rename to applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/Schaeffer/SchaefferFrictionalStress.H diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/frictionalStressModel/frictionalStressModel.C b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/frictionalStressModel/frictionalStressModel.C similarity index 100% rename from applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/frictionalStressModel/frictionalStressModel.C rename to applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/frictionalStressModel/frictionalStressModel.C diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/frictionalStressModel/frictionalStressModel.H b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/frictionalStressModel/frictionalStressModel.H similarity index 100% rename from applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/frictionalStressModel/frictionalStressModel.H rename to applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/frictionalStressModel/frictionalStressModel.H diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/frictionalStressModel/newFrictionalStressModel.C b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/frictionalStressModel/newFrictionalStressModel.C similarity index 96% rename from applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/frictionalStressModel/newFrictionalStressModel.C rename to applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/frictionalStressModel/newFrictionalStressModel.C index 4067c154fb80747923a35776a4ed88c3cfd9174b..ed9ae62d33d5bd0cceb8a5ac2b82045d07138dae 100644 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/frictionalStressModel/newFrictionalStressModel.C +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/frictionalStressModel/newFrictionalStressModel.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/granularPressureModel/Lun/LunPressure.C b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/granularPressureModel/Lun/LunPressure.C similarity index 100% rename from applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/granularPressureModel/Lun/LunPressure.C rename to applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/granularPressureModel/Lun/LunPressure.C diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/granularPressureModel/Lun/LunPressure.H b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/granularPressureModel/Lun/LunPressure.H similarity index 100% rename from applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/granularPressureModel/Lun/LunPressure.H rename to applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/granularPressureModel/Lun/LunPressure.H diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/granularPressureModel/SyamlalRogersOBrien/SyamlalRogersOBrienPressure.C b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/granularPressureModel/SyamlalRogersOBrien/SyamlalRogersOBrienPressure.C similarity index 100% rename from applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/granularPressureModel/SyamlalRogersOBrien/SyamlalRogersOBrienPressure.C rename to applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/granularPressureModel/SyamlalRogersOBrien/SyamlalRogersOBrienPressure.C diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/granularPressureModel/SyamlalRogersOBrien/SyamlalRogersOBrienPressure.H b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/granularPressureModel/SyamlalRogersOBrien/SyamlalRogersOBrienPressure.H similarity index 100% rename from applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/granularPressureModel/SyamlalRogersOBrien/SyamlalRogersOBrienPressure.H rename to applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/granularPressureModel/SyamlalRogersOBrien/SyamlalRogersOBrienPressure.H diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/granularPressureModel/granularPressureModel/granularPressureModel.C b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/granularPressureModel/granularPressureModel/granularPressureModel.C similarity index 96% rename from applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/granularPressureModel/granularPressureModel/granularPressureModel.C rename to applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/granularPressureModel/granularPressureModel/granularPressureModel.C index 6bbae86d3773ca50327359646c80ab7090627ece..b88347296981679f0491518df2681938bddca705 100644 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/granularPressureModel/granularPressureModel/granularPressureModel.C +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/granularPressureModel/granularPressureModel/granularPressureModel.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/granularPressureModel/granularPressureModel/granularPressureModel.H b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/granularPressureModel/granularPressureModel/granularPressureModel.H similarity index 100% rename from applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/granularPressureModel/granularPressureModel/granularPressureModel.H rename to applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/granularPressureModel/granularPressureModel/granularPressureModel.H diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/granularPressureModel/granularPressureModel/newGranularPressureModel.C b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/granularPressureModel/granularPressureModel/newGranularPressureModel.C similarity index 96% rename from applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/granularPressureModel/granularPressureModel/newGranularPressureModel.C rename to applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/granularPressureModel/granularPressureModel/newGranularPressureModel.C index d8e1540f0f059c462a510936de8f09c7c9f2ec10..632001288431afc7530bc4e66e577c55f08f78f0 100644 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/granularPressureModel/granularPressureModel/newGranularPressureModel.C +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/granularPressureModel/granularPressureModel/newGranularPressureModel.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.C b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.C similarity index 100% rename from applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.C rename to applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.C diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.H b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.H similarity index 100% rename from applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.H rename to applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.H diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/radialModel/CarnahanStarling/CarnahanStarlingRadial.C b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/radialModel/CarnahanStarling/CarnahanStarlingRadial.C similarity index 100% rename from applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/radialModel/CarnahanStarling/CarnahanStarlingRadial.C rename to applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/radialModel/CarnahanStarling/CarnahanStarlingRadial.C diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/radialModel/CarnahanStarling/CarnahanStarlingRadial.H b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/radialModel/CarnahanStarling/CarnahanStarlingRadial.H similarity index 100% rename from applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/radialModel/CarnahanStarling/CarnahanStarlingRadial.H rename to applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/radialModel/CarnahanStarling/CarnahanStarlingRadial.H diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/radialModel/LunSavage/LunSavageRadial.C b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/radialModel/LunSavage/LunSavageRadial.C similarity index 100% rename from applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/radialModel/LunSavage/LunSavageRadial.C rename to applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/radialModel/LunSavage/LunSavageRadial.C diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/radialModel/LunSavage/LunSavageRadial.H b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/radialModel/LunSavage/LunSavageRadial.H similarity index 100% rename from applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/radialModel/LunSavage/LunSavageRadial.H rename to applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/radialModel/LunSavage/LunSavageRadial.H diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/radialModel/SinclairJackson/SinclairJacksonRadial.C b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/radialModel/SinclairJackson/SinclairJacksonRadial.C similarity index 100% rename from applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/radialModel/SinclairJackson/SinclairJacksonRadial.C rename to applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/radialModel/SinclairJackson/SinclairJacksonRadial.C diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/radialModel/SinclairJackson/SinclairJacksonRadial.H b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/radialModel/SinclairJackson/SinclairJacksonRadial.H similarity index 100% rename from applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/radialModel/SinclairJackson/SinclairJacksonRadial.H rename to applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/radialModel/SinclairJackson/SinclairJacksonRadial.H diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/radialModel/radialModel/newRadialModel.C b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/radialModel/radialModel/newRadialModel.C similarity index 97% rename from applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/radialModel/radialModel/newRadialModel.C rename to applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/radialModel/radialModel/newRadialModel.C index f5043486a3eabfea5ef623818249195cf8372c5f..3ea17707941cae9c2e363a651ca175d73beef160 100644 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/radialModel/radialModel/newRadialModel.C +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/radialModel/radialModel/newRadialModel.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/radialModel/radialModel/radialModel.C b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/radialModel/radialModel/radialModel.C similarity index 100% rename from applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/radialModel/radialModel/radialModel.C rename to applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/radialModel/radialModel/radialModel.C diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/radialModel/radialModel/radialModel.H b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/radialModel/radialModel/radialModel.H similarity index 100% rename from applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/radialModel/radialModel/radialModel.H rename to applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/radialModel/radialModel/radialModel.H diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/Gidaspow/GidaspowViscosity.C b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/Gidaspow/GidaspowViscosity.C similarity index 100% rename from applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/Gidaspow/GidaspowViscosity.C rename to applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/Gidaspow/GidaspowViscosity.C diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/Gidaspow/GidaspowViscosity.H b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/Gidaspow/GidaspowViscosity.H similarity index 100% rename from applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/Gidaspow/GidaspowViscosity.H rename to applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/Gidaspow/GidaspowViscosity.H diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/HrenyaSinclair/HrenyaSinclairViscosity.C b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/HrenyaSinclair/HrenyaSinclairViscosity.C similarity index 100% rename from applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/HrenyaSinclair/HrenyaSinclairViscosity.C rename to applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/HrenyaSinclair/HrenyaSinclairViscosity.C diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/HrenyaSinclair/HrenyaSinclairViscosity.H b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/HrenyaSinclair/HrenyaSinclairViscosity.H similarity index 100% rename from applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/HrenyaSinclair/HrenyaSinclairViscosity.H rename to applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/HrenyaSinclair/HrenyaSinclairViscosity.H diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/Syamlal/SyamlalViscosity.C b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/Syamlal/SyamlalViscosity.C similarity index 100% rename from applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/Syamlal/SyamlalViscosity.C rename to applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/Syamlal/SyamlalViscosity.C diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/Syamlal/SyamlalViscosity.H b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/Syamlal/SyamlalViscosity.H similarity index 100% rename from applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/Syamlal/SyamlalViscosity.H rename to applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/Syamlal/SyamlalViscosity.H diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/none/noneViscosity.C b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/none/noneViscosity.C similarity index 100% rename from applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/none/noneViscosity.C rename to applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/none/noneViscosity.C diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/none/noneViscosity.H b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/none/noneViscosity.H similarity index 100% rename from applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/none/noneViscosity.H rename to applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/none/noneViscosity.H diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/viscosityModel/newViscosityModel.C b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/viscosityModel/newViscosityModel.C similarity index 96% rename from applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/viscosityModel/newViscosityModel.C rename to applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/viscosityModel/newViscosityModel.C index 2b50f093599b2a2043c30e6ea7dd68733f9f0692..58da2a786ca37866949133d83003bf863acfe3f1 100644 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/viscosityModel/newViscosityModel.C +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/viscosityModel/newViscosityModel.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/viscosityModel/viscosityModel.C b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/viscosityModel/viscosityModel.C similarity index 96% rename from applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/viscosityModel/viscosityModel.C rename to applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/viscosityModel/viscosityModel.C index dc4c1ca1def57e5f104082c8b2ebae7f9a55660e..c3c414dd282667eee0284db6aebe442c44decc65 100644 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/viscosityModel/viscosityModel.C +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/viscosityModel/viscosityModel.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/viscosityModel/viscosityModel.H b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/viscosityModel/viscosityModel.H similarity index 100% rename from applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/viscosityModel/viscosityModel.H rename to applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/viscosityModel/viscosityModel.H diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/phaseIncompressibleTurbulenceModels.C b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/phaseIncompressibleTurbulenceModels.C similarity index 100% rename from applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/phaseIncompressibleTurbulenceModels.C rename to applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/phaseIncompressibleTurbulenceModels.C diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/phasePressureModel/phasePressureModel.C b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/phasePressureModel/phasePressureModel.C similarity index 100% rename from applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/phasePressureModel/phasePressureModel.C rename to applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/phasePressureModel/phasePressureModel.C diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/phasePressureModel/phasePressureModel.H b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/phasePressureModel/phasePressureModel.H similarity index 100% rename from applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/phasePressureModel/phasePressureModel.H rename to applications/solvers/multiphase/twoPhaseEulerFoam/phaseIncompressibleTurbulenceModels/phasePressureModel/phasePressureModel.H diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseModel/Make/files b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseModel/Make/files deleted file mode 100644 index 719f858c3e07d4f0bb99717b9a198c0f6e119cfa..0000000000000000000000000000000000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseModel/Make/files +++ /dev/null @@ -1,3 +0,0 @@ -phaseModel/phaseModel.C - -LIB = $(FOAM_LIBBIN)/libphaseModel diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseModel/Make/options b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseModel/Make/options deleted file mode 100644 index 0ec11392098bd862e78e2790e25cf1f49ec557fd..0000000000000000000000000000000000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseModel/Make/options +++ /dev/null @@ -1,6 +0,0 @@ -EXE_INC = \ - -I$(LIB_SRC)/finiteVolume/lnInclude \ - -I$(LIB_SRC)/transportModels/incompressible/lnInclude - -LIB_LIBS = \ - -lincompressibleTransportModels diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseModel/phaseModel/phaseModel.C b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseModel/phaseModel/phaseModel.C deleted file mode 100644 index 85ee12b3164f08028dc53ea236b4c0b0dc9f0fac..0000000000000000000000000000000000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseModel/phaseModel/phaseModel.C +++ /dev/null @@ -1,168 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 2011-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 <http://www.gnu.org/licenses/>. - -\*---------------------------------------------------------------------------*/ - -#include "phaseModel.H" -#include "fixedValueFvPatchFields.H" -#include "slipFvPatchFields.H" -#include "surfaceInterpolate.H" - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::phaseModel::phaseModel -( - const fvMesh& mesh, - const dictionary& transportProperties, - const word& phaseName -) -: - dict_ - ( - transportProperties.subDict("phase" + phaseName) - ), - name_(phaseName), - d_ - ( - "d", - dimLength, - dict_.lookup("d") - ), - nu_ - ( - "nu", - dimensionSet(0, 2, -1, 0, 0), - dict_.lookup("nu") - ), - rho_ - ( - "rho", - dimDensity, - dict_.lookup("rho") - ), - U_ - ( - IOobject - ( - "U" + phaseName, - mesh.time().timeName(), - mesh, - IOobject::MUST_READ, - IOobject::AUTO_WRITE - ), - mesh - ) -{ - const word phiName = "phi" + phaseName; - - IOobject phiHeader - ( - phiName, - mesh.time().timeName(), - mesh, - IOobject::NO_READ - ); - - if (phiHeader.headerOk()) - { - Info<< "Reading face flux field " << phiName << endl; - - phiPtr_.reset - ( - new surfaceScalarField - ( - IOobject - ( - phiName, - mesh.time().timeName(), - mesh, - IOobject::MUST_READ, - IOobject::AUTO_WRITE - ), - mesh - ) - ); - } - else - { - Info<< "Calculating face flux field " << phiName << endl; - - wordList phiTypes - ( - U_.boundaryField().size(), - calculatedFvPatchScalarField::typeName - ); - - forAll(U_.boundaryField(), i) - { - if - ( - isA<fixedValueFvPatchVectorField>(U_.boundaryField()[i]) - || isA<slipFvPatchVectorField>(U_.boundaryField()[i]) - ) - { - phiTypes[i] = fixedValueFvPatchScalarField::typeName; - } - } - - phiPtr_.reset - ( - new surfaceScalarField - ( - IOobject - ( - phiName, - mesh.time().timeName(), - mesh, - IOobject::NO_READ, - IOobject::AUTO_WRITE - ), - fvc::interpolate(U_) & mesh.Sf(), - phiTypes - ) - ); - } -} - - -Foam::autoPtr<Foam::phaseModel> Foam::phaseModel::New -( - const fvMesh& mesh, - const dictionary& transportProperties, - const word& phaseName -) -{ - return autoPtr<phaseModel> - ( - new phaseModel(mesh, transportProperties, phaseName) - ); -} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::phaseModel::~phaseModel() -{} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseModel/phaseModel/phaseModel.H b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseModel/phaseModel/phaseModel.H deleted file mode 100644 index edf4ce743113a1cb129baf3b94725c4bee5f3974..0000000000000000000000000000000000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseModel/phaseModel/phaseModel.H +++ /dev/null @@ -1,153 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 2011 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::phaseModel - -SourceFiles - phaseModel.C - -\*---------------------------------------------------------------------------*/ - -#ifndef phaseModel_H -#define phaseModel_H - -#include "dictionary.H" -#include "dimensionedScalar.H" -#include "volFields.H" -#include "surfaceFields.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -/*---------------------------------------------------------------------------*\ - Class phaseModel Declaration -\*---------------------------------------------------------------------------*/ - -class phaseModel -{ - // Private data - - dictionary dict_; - - //- Name of phase - word name_; - - //- Characteristic diameter of phase - dimensionedScalar d_; - - //- kinematic viscosity - dimensionedScalar nu_; - - //- density - dimensionedScalar rho_; - - //- Velocity - volVectorField U_; - - //- Fluxes - autoPtr<surfaceScalarField> phiPtr_; - - -public: - - // Constructors - - phaseModel - ( - const fvMesh& mesh, - const dictionary& transportProperties, - const word& phaseName - ); - - - // Selectors - - //- Return a reference to the selected turbulence model - static autoPtr<phaseModel> New - ( - const fvMesh& mesh, - const dictionary& transportProperties, - const word& phaseName - ); - - - //- Destructor - virtual ~phaseModel(); - - - // Member Functions - - const word& name() const - { - return name_; - } - - const dimensionedScalar& d() const - { - return d_; - } - - const dimensionedScalar& nu() const - { - return nu_; - } - - const dimensionedScalar& rho() const - { - return rho_; - } - - const volVectorField& U() const - { - return U_; - } - - volVectorField& U() - { - return U_; - } - - const surfaceScalarField& phi() const - { - return phiPtr_(); - } - - surfaceScalarField& phi() - { - return phiPtr_(); - } -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/readPPProperties.H b/applications/solvers/multiphase/twoPhaseEulerFoam/readPPProperties.H index a655736c547dba34301da4bf6dae5de97b534511..4f32564a482f0ae76245dcb76b256aefb1ad0c3b 100644 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/readPPProperties.H +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/readPPProperties.H @@ -5,17 +5,27 @@ "ppProperties", runTime.constant(), mesh, - IOobject::MUST_READ_IF_MODIFIED, + IOobject::MUST_READ, IOobject::NO_WRITE ) ); - scalar preAlphaExp(readScalar(ppProperties.lookup("preAlphaExp"))); - - scalar alphaMax(readScalar(ppProperties.lookup("alphaMax"))); + scalar preAlphaExp + ( + readScalar(ppProperties.lookup("preAlphaExp")) + ); - scalar expMax(readScalar(ppProperties.lookup("expMax"))); + scalar alphaMax + ( + readScalar(ppProperties.lookup("alphaMax")) + ); - dimensionedScalar g0(ppProperties.lookup("g0")); + scalar expMax + ( + readScalar(ppProperties.lookup("expMax")) + ); - Switch packingLimiter(ppProperties.lookup("packingLimiter")); + dimensionedScalar g0 + ( + ppProperties.lookup("g0") + ); diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/readTwoPhaseEulerFoamControls.H b/applications/solvers/multiphase/twoPhaseEulerFoam/readTwoPhaseEulerFoamControls.H index 813fdd8f10398b062d20b468e59ce8b7b36ba10d..29353a8fa1deea189e0fa017c28ba5685013245c 100644 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/readTwoPhaseEulerFoamControls.H +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/readTwoPhaseEulerFoamControls.H @@ -1,4 +1,7 @@ #include "readTimeControls.H" #include "alphaControls.H" - Switch correctAlpha(pimple.dict().lookup("correctAlpha")); + Switch implicitPhasePressure + ( + alphaControls.lookupOrDefault<Switch>("implicitPhasePressure", false) + ); diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseEulerFoam.C b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseEulerFoam.C index 67e4174a3be462dde5355be33390a257548ee528..7b8509337d29d592c1cc961bab971ffd111b9d0a 100644 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseEulerFoam.C +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseEulerFoam.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -25,26 +25,19 @@ Application twoPhaseEulerFoam Description - Solver for a system of 2 incompressible fluid phases with one phase - dispersed, e.g. gas bubbles in a liquid or solid particles in a gas. + Solver for a system of 2 compressible fluid phases with one phase + dispersed, e.g. gas bubbles in a liquid including heat-transfer. \*---------------------------------------------------------------------------*/ #include "fvCFD.H" #include "MULES.H" #include "subCycle.H" -#include "nearWallDist.H" -#include "wallFvPatch.H" -#include "fixedValueFvsPatchFields.H" -#include "Switch.H" - -#include "IFstream.H" -#include "OFstream.H" - +#include "rhoThermo.H" +#include "twoPhaseSystem.H" #include "dragModel.H" -#include "phaseModel.H" -#include "kineticTheoryModel.H" - +#include "heatTransferModel.H" +#include "PhaseIncompressibleTurbulenceModel.H" #include "pimpleControl.H" #include "IOMRFZoneList.H" @@ -58,11 +51,10 @@ int main(int argc, char *argv[]) #include "createMesh.H" #include "readGravitationalAcceleration.H" #include "createFields.H" - #include "readPPProperties.H" - #include "initContinuityErrs.H" #include "createMRFZones.H" + #include "initContinuityErrs.H" #include "readTimeControls.H" - #include "CourantNo.H" + #include "CourantNos.H" #include "setInitialDeltaT.H" pimpleControl pimple(mesh); @@ -84,33 +76,29 @@ int main(int argc, char *argv[]) while (pimple.loop()) { #include "alphaEqn.H" - #include "liftDragCoeffs.H" + #include "EEqns.H" #include "UEqns.H" // --- Pressure corrector loop while (pimple.correct()) { #include "pEqn.H" - - if (correctAlpha && !pimple.finalIter()) - { - #include "alphaEqn.H" - } } #include "DDtU.H" if (pimple.turbCorr()) { - #include "kEpsilon.H" + turbulence1->correct(); + turbulence2->correct(); } } #include "write.H" - Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s" - << " ClockTime = " << runTime.elapsedClockTime() << " s" - << nl << endl; + Info<< "ExecutionTime = " + << runTime.elapsedCpuTime() + << " s\n\n" << endl; } Info<< "End\n" << endl; diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/twoPhaseSystem/Make/files b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/Make/files similarity index 100% rename from applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/twoPhaseSystem/Make/files rename to applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/Make/files diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/twoPhaseSystem/Make/options b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/Make/options similarity index 100% rename from applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/twoPhaseSystem/Make/options rename to applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/Make/options diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/constantDiameter/constantDiameter.C b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/constantDiameter/constantDiameter.C similarity index 96% rename from applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/constantDiameter/constantDiameter.C rename to applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/constantDiameter/constantDiameter.C index 7be2be6d5631f9bf00fa55c46eb307ead728ec39..315f16089399f0b3f9d7a65f79df0549464e5d5a 100644 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/constantDiameter/constantDiameter.C +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/constantDiameter/constantDiameter.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/constantDiameter/constantDiameter.H b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/constantDiameter/constantDiameter.H similarity index 97% rename from applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/constantDiameter/constantDiameter.H rename to applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/constantDiameter/constantDiameter.H index 5ce8c9a3d9bf54ee9095e0348537d06f614cca92..071820c319f0202ca792e0531bd909aef52d8749 100644 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/constantDiameter/constantDiameter.H +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/constantDiameter/constantDiameter.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/diameterModel/diameterModel.C b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/diameterModel/diameterModel.C similarity index 95% rename from applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/diameterModel/diameterModel.C rename to applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/diameterModel/diameterModel.C index 800c700dce3f3208891ca60f2aa8903116d32a9f..2618815d24d3e553a9a6e47f8452e352c3a7d6be 100644 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/diameterModel/diameterModel.C +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/diameterModel/diameterModel.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/diameterModel/diameterModel.H b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/diameterModel/diameterModel.H similarity index 97% rename from applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/diameterModel/diameterModel.H rename to applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/diameterModel/diameterModel.H index ad4a41e2ed279554851e12fb76319bcb33ba0bdb..c14f65e3645b255a235b3ecca78e1f44079ec6ed 100644 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/diameterModel/diameterModel.H +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/diameterModel/diameterModel.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/diameterModel/newDiameterModel.C b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/diameterModel/newDiameterModel.C similarity index 96% rename from applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/diameterModel/newDiameterModel.C rename to applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/diameterModel/newDiameterModel.C index 01d685ad569f34f44d584752e9789eebb4479b55..b9014f3f46dd863f8de73e76bfaf67a52a51f0d8 100644 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/diameterModel/newDiameterModel.C +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/diameterModel/newDiameterModel.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/isothermalDiameter/isothermalDiameter.C b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/isothermalDiameter/isothermalDiameter.C similarity index 96% rename from applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/isothermalDiameter/isothermalDiameter.C rename to applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/isothermalDiameter/isothermalDiameter.C index 39d6f1afbda6f6b8b0b7c9c73bbc157cf66bbe76..4b9e57150390d1412a9e284549923b657e5be686 100644 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/isothermalDiameter/isothermalDiameter.C +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/isothermalDiameter/isothermalDiameter.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/isothermalDiameter/isothermalDiameter.H b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/isothermalDiameter/isothermalDiameter.H similarity index 97% rename from applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/isothermalDiameter/isothermalDiameter.H rename to applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/isothermalDiameter/isothermalDiameter.H index 29fe2c8642d6ccd2b876c94d764497c432f3a109..0d155ad16e0bb4a6aca3ab251e6c89c68c89cfbd 100644 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/isothermalDiameter/isothermalDiameter.H +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/isothermalDiameter/isothermalDiameter.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/twoPhaseSystem/phaseModel/phaseModel.C b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/phaseModel/phaseModel.C similarity index 100% rename from applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/twoPhaseSystem/phaseModel/phaseModel.C rename to applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/phaseModel/phaseModel.C diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/twoPhaseSystem/phaseModel/phaseModel.H b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/phaseModel/phaseModel.H similarity index 100% rename from applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/twoPhaseSystem/phaseModel/phaseModel.H rename to applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/phaseModel/phaseModel.H diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/twoPhaseSystem/twoPhaseSystem.C b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/twoPhaseSystem.C similarity index 100% rename from applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/twoPhaseSystem/twoPhaseSystem.C rename to applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/twoPhaseSystem.C diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/twoPhaseSystem/twoPhaseSystem.H b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/twoPhaseSystem.H similarity index 100% rename from applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/twoPhaseSystem/twoPhaseSystem.H rename to applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/twoPhaseSystem.H diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/wallFunctions.H b/applications/solvers/multiphase/twoPhaseEulerFoam/wallFunctions.H deleted file mode 100644 index c91cce9a00e2df5ca912a75a57a02d6f813d72c4..0000000000000000000000000000000000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/wallFunctions.H +++ /dev/null @@ -1,81 +0,0 @@ -{ - labelList cellBoundaryFaceCount(epsilon.size(), 0); - - scalar Cmu25 = ::pow(Cmu.value(), 0.25); - scalar Cmu75 = ::pow(Cmu.value(), 0.75); - scalar kappa_ = kappa.value(); - scalar nu2_ = nu2.value(); - - const fvPatchList& patches = mesh.boundary(); - - //- Initialise the near-wall P field to zero - forAll(patches, patchi) - { - const fvPatch& currPatch = patches[patchi]; - - if (isA<wallFvPatch>(currPatch)) - { - forAll(currPatch, facei) - { - label faceCelli = currPatch.faceCells()[facei]; - - epsilon[faceCelli] = 0.0; - G[faceCelli] = 0.0; - } - } - } - - //- Accumulate the wall face contributions to epsilon and G - // Increment cellBoundaryFaceCount for each face for averaging - forAll(patches, patchi) - { - const fvPatch& currPatch = patches[patchi]; - - if (isA<wallFvPatch>(currPatch)) - { - const scalarField& nut2w = nut2.boundaryField()[patchi]; - - scalarField magFaceGradU(mag(U2.boundaryField()[patchi].snGrad())); - - forAll(currPatch, facei) - { - label faceCelli = currPatch.faceCells()[facei]; - - // For corner cells (with two boundary or more faces), - // epsilon and G in the near-wall cell are calculated - // as an average - - cellBoundaryFaceCount[faceCelli]++; - - epsilon[faceCelli] += - Cmu75*::pow(k[faceCelli], 1.5) - /(kappa_*y[patchi][facei]); - - G[faceCelli] += - (nut2w[facei] + nu2_)*magFaceGradU[facei] - *Cmu25*::sqrt(k[faceCelli]) - /(kappa_*y[patchi][facei]); - } - } - } - - - // perform the averaging - - forAll(patches, patchi) - { - const fvPatch& curPatch = patches[patchi]; - - if (isA<wallFvPatch>(curPatch)) - { - forAll(curPatch, facei) - { - label faceCelli = curPatch.faceCells()[facei]; - - epsilon[faceCelli] /= cellBoundaryFaceCount[faceCelli]; - G[faceCelli] /= cellBoundaryFaceCount[faceCelli]; - cellBoundaryFaceCount[faceCelli] = 1; - } - } - } -} diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/wallViscosity.H b/applications/solvers/multiphase/twoPhaseEulerFoam/wallViscosity.H deleted file mode 100644 index bd51ed7dd186037b72be8b7b1a9c34c22993851e..0000000000000000000000000000000000000000 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/wallViscosity.H +++ /dev/null @@ -1,36 +0,0 @@ -{ - scalar Cmu25 = ::pow(Cmu.value(), 0.25); - scalar kappa_ = kappa.value(); - scalar E_ = E.value(); - scalar nu2_ = nu2.value(); - - const fvPatchList& patches = mesh.boundary(); - - forAll(patches, patchi) - { - const fvPatch& currPatch = patches[patchi]; - - if (isA<wallFvPatch>(currPatch)) - { - scalarField& nutw = nut2.boundaryField()[patchi]; - - forAll(currPatch, facei) - { - label faceCelli = currPatch.faceCells()[facei]; - - // calculate yPlus - scalar yPlus = - Cmu25*y[patchi][facei]*::sqrt(k[faceCelli])/nu2_; - - if (yPlus > 11.6) - { - nutw[facei] = nu2_*(yPlus*kappa_/::log(E_*yPlus) -1); - } - else - { - nutw[facei] = 0.0; - } - } - } - } -} diff --git a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/DelaunayMesh/DelaunayMesh.C b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/DelaunayMesh/DelaunayMesh.C index 7eb8216b00f1e4033d7f7dc005226394289e4fe4..3afdf9cf139312594e7fbd6ad83069c3d59824b4 100644 --- a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/DelaunayMesh/DelaunayMesh.C +++ b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/DelaunayMesh/DelaunayMesh.C @@ -31,12 +31,6 @@ License #include "labelIOField.H" #include "pointConversion.H" -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - - -// * * * * * * * * * * * * Static Member Functions * * * * * * * * * * * * * // - - // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // template<class Triangulation> @@ -61,6 +55,8 @@ Foam::DelaunayMesh<Triangulation>::DelaunayMesh cellCount_(0), runTime_(runTime) { + Info<< "Reading " << meshName << " from " << runTime.timeName() << endl; + pointIOField pts ( IOobject @@ -74,83 +70,71 @@ Foam::DelaunayMesh<Triangulation>::DelaunayMesh ) ); - labelIOField types - ( - IOobject + if (pts.headerOk()) + { + labelIOField types ( - "types", - runTime.timeName(), - meshName, - runTime, - IOobject::READ_IF_PRESENT, - IOobject::NO_WRITE - ) - ); + IOobject + ( + "types", + runTime.timeName(), + meshName, + runTime, + IOobject::MUST_READ, + IOobject::NO_WRITE + ) + ); - labelIOField indices - ( - IOobject +// Do not read in indices +// labelIOField indices +// ( +// IOobject +// ( +// "indices", +// runTime.timeName(), +// meshName, +// runTime, +// IOobject::MUST_READ, +// IOobject::NO_WRITE +// ) +// ); + + labelIOField processorIndices ( - "indices", - runTime.timeName(), - meshName, - runTime, - IOobject::READ_IF_PRESENT, - IOobject::NO_WRITE - ) - ); + IOobject + ( + "processorIndices", + runTime.timeName(), + meshName, + runTime, + IOobject::MUST_READ, + IOobject::NO_WRITE + ) + ); - labelIOField processorIndices - ( - IOobject - ( - "processorIndices", - runTime.timeName(), - meshName, - runTime, - IOobject::READ_IF_PRESENT, - IOobject::NO_WRITE - ) - ); + List<Vb> pointsToInsert(pts.size()); - if (pts.headerOk()) - { - forAll(pts, ptI) + forAll(pointsToInsert, pI) { - Vertex_handle vh = this->insert(toPoint<Point>(pts[ptI])); - - if (indices.headerOk()) - { - vh->index() = indices[ptI]; - vertexCount_++; - } - else - { - vh->index() = getNewVertexIndex(); - } + pointsToInsert[pI] = + Vb + ( + toPoint(pts[pI]), + pI, + static_cast<indexedVertexEnum::vertexType>(types[pI]), + processorIndices[pI] + ); + } - if (processorIndices.headerOk()) - { - vh->procIndex() = processorIndices[ptI]; - } - else - { - vh->procIndex() = Pstream::myProcNo(); - } + rangeInsertWithInfo + ( + pointsToInsert.begin(), + pointsToInsert.end(), + false, + false + ); - if (types.headerOk()) - { - vh->type() = - static_cast<Foam::indexedVertexEnum::vertexType> - ( - types[ptI] - ); - } - else - { - vh->type() = Vb::vtUnassigned; - } - } + vertexCount_ = Triangulation::number_of_vertices(); } } @@ -219,7 +203,7 @@ void Foam::DelaunayMesh<Triangulation>::insertPoints(const List<Vb>& vertices) ( vertices.begin(), vertices.end(), - true + false ); } @@ -288,7 +272,8 @@ void Foam::DelaunayMesh<Triangulation>::rangeInsertWithInfo ( PointIterator begin, PointIterator end, - bool printErrors + bool printErrors, + bool reIndex ) { typedef DynamicList @@ -348,7 +333,14 @@ void Foam::DelaunayMesh<Triangulation>::rangeInsertWithInfo } else { - hint->index() = getNewVertexIndex(); + if (reIndex) + { + hint->index() = getNewVertexIndex(); + } + else + { + hint->index() = vert.index(); + } hint->type() = vert.type(); hint->procIndex() = vert.procIndex(); hint->targetCellSize() = vert.targetCellSize(); @@ -358,15 +350,6 @@ void Foam::DelaunayMesh<Triangulation>::rangeInsertWithInfo } -// * * * * * * * * * * * * * * Member Operators * * * * * * * * * * * * * * // - - -// * * * * * * * * * * * * * * Friend Functions * * * * * * * * * * * * * * // - - -// * * * * * * * * * * * * * * Friend Operators * * * * * * * * * * * * * * // - - // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // #include "DelaunayMeshIO.C" diff --git a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/DelaunayMesh/DelaunayMesh.H b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/DelaunayMesh/DelaunayMesh.H index 63d227fccac877066f5230354f56f23dfef8b736..a7cbf26766e48b08436610c67802973a284eb1d2 100644 --- a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/DelaunayMesh/DelaunayMesh.H +++ b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/DelaunayMesh/DelaunayMesh.H @@ -90,6 +90,7 @@ public: FixedList<label, 2>::Hash<> > labelTolabelPairHashTable; + private: // Private data @@ -184,62 +185,84 @@ public: // Member Functions - inline const Time& time() const; + // Access - inline void timeCheck - ( - const string& description, - const bool check = true - ) const; + //- Return a reference to the Time object + inline const Time& time() const; - inline label getNewVertexIndex() const; - inline label getNewCellIndex() const; + // Check - inline label cellCount() const; + //- Write the cpuTime to screen + inline void timeCheck + ( + const string& description, + const bool check = true + ) const; - inline void resetCellCount(); - inline label vertexCount() const; + // Indexing functions - inline void resetVertexCount(); + //- Create a new unique cell index and return + inline label getNewCellIndex() const; + //- Create a new unique vertex index and return + inline label getNewVertexIndex() const; - //- Remove the entire triangulation - void reset(); + //- Return the cell count (the next unique cell index) + inline label cellCount() const; - void insertPoints(const List<Vb>& vertices); + //- Return the vertex count (the next unique vertex index) + inline label vertexCount() const; - //- Function inserting points into a triangulation and setting the - // index and type data of the point in the correct order. This is - // faster than inserting points individually. - // - // Adapted from a post on the CGAL lists: 2010-01/msg00004.html by - // Sebastien Loriot (Geometry Factory). - template<class PointIterator> - void rangeInsertWithInfo - ( - PointIterator begin, - PointIterator end, - bool printErrors = true - ); + //- Set the cell count to zero + inline void resetCellCount(); + //- Set the vertex count to zero + inline void resetVertexCount(); - // Queries - void printInfo(Ostream& os) const; + // Triangulation manipulation functions - void printVertexInfo(Ostream& os) const; + //- Clear the entire triangulation + void reset(); - //- Create an fvMesh from the triangulation. - // The mesh is not parallel consistent - only used for viewing - autoPtr<polyMesh> createMesh - ( - const fileName& name, - labelTolabelPairHashTable& vertexMap, - labelList& cellMap, - const bool writeDelaunayData = true - ) const; + //- Insert the list of vertices (calls rangeInsertWithInfo) + void insertPoints(const List<Vb>& vertices); + + //- Function inserting points into a triangulation and setting the + // index and type data of the point in the correct order. This is + // faster than inserting points individually. + // + // Adapted from a post on the CGAL lists: 2010-01/msg00004.html by + // Sebastien Loriot (Geometry Factory). + template<class PointIterator> + void rangeInsertWithInfo + ( + PointIterator begin, + PointIterator end, + bool printErrors = false, + bool reIndex = true + ); + + + // Write + + //- Write mesh statistics to stream + void printInfo(Ostream& os) const; + + //- Write vertex statistics in the form of a table to stream + void printVertexInfo(Ostream& os) const; + + //- Create an fvMesh from the triangulation. + // The mesh is not parallel consistent - only used for viewing + autoPtr<polyMesh> createMesh + ( + const fileName& name, + labelTolabelPairHashTable& vertexMap, + labelList& cellMap, + const bool writeDelaunayData = true + ) const; }; diff --git a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/DelaunayMesh/DelaunayMeshI.H b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/DelaunayMesh/DelaunayMeshI.H index bad25b2b835832d9b301f735631df7d4ef1804a3..daecf18c580b2c394c596f56dd1b6422b19175be 100644 --- a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/DelaunayMesh/DelaunayMeshI.H +++ b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/DelaunayMesh/DelaunayMeshI.H @@ -25,17 +25,6 @@ License // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - - -// * * * * * * * * * * * * * * * * Destructors * * * * * * * * * * * * * * * // - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - template<class Triangulation> inline const Foam::Time& Foam::DelaunayMesh<Triangulation>::time() const { @@ -71,16 +60,16 @@ void Foam::DelaunayMesh<Triangulation>::timeCheck template<class Triangulation> -inline Foam::label Foam::DelaunayMesh<Triangulation>::getNewVertexIndex() const +inline Foam::label Foam::DelaunayMesh<Triangulation>::getNewCellIndex() const { - label id = vertexCount_++; + label id = cellCount_++; if (id == labelMax) { WarningIn ( - "Foam::DelaunayMesh<Triangulation>::getNewVertexIndex() const" - ) << "Vertex counter has overflowed." << endl; + "Foam::DelaunayMesh<Triangulation>::getNewCellIndex() const" + ) << "Cell counter has overflowed." << endl; } return id; @@ -88,16 +77,16 @@ inline Foam::label Foam::DelaunayMesh<Triangulation>::getNewVertexIndex() const template<class Triangulation> -inline Foam::label Foam::DelaunayMesh<Triangulation>::getNewCellIndex() const +inline Foam::label Foam::DelaunayMesh<Triangulation>::getNewVertexIndex() const { - label id = cellCount_++; + label id = vertexCount_++; if (id == labelMax) { WarningIn ( - "Foam::DelaunayMesh<Triangulation>::getNewCellIndex() const" - ) << "Cell counter has overflowed." << endl; + "Foam::DelaunayMesh<Triangulation>::getNewVertexIndex() const" + ) << "Vertex counter has overflowed." << endl; } return id; @@ -112,16 +101,16 @@ Foam::label Foam::DelaunayMesh<Triangulation>::cellCount() const template<class Triangulation> -void Foam::DelaunayMesh<Triangulation>::resetCellCount() +Foam::label Foam::DelaunayMesh<Triangulation>::vertexCount() const { - cellCount_ = 0; + return vertexCount_; } template<class Triangulation> -Foam::label Foam::DelaunayMesh<Triangulation>::vertexCount() const +void Foam::DelaunayMesh<Triangulation>::resetCellCount() { - return vertexCount_; + cellCount_ = 0; } @@ -132,22 +121,4 @@ void Foam::DelaunayMesh<Triangulation>::resetVertexCount() } -// * * * * * * * * * * * * * * * Member Operators * * * * * * * * * * * * * // - - -// * * * * * * * * * * * * * * * Friend Functions * * * * * * * * * * * * * // - - -// * * * * * * * * * * * * * * * Friend Operators * * * * * * * * * * * * * // - - -// * * * * * * * * * * * * * * IOstream Operators * * * * * * * * * * * * * // - - -// * * * * * * * * * * * * * * * Ostream Operator * * * * * * * * * * * * * // - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - - // ************************************************************************* // diff --git a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/DelaunayMesh/DelaunayMeshIO.C b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/DelaunayMesh/DelaunayMeshIO.C index 1a341348b1a1d948a31a195672f888d515e871d9..d987a8ad4f554ec33b78038151af77cd9a53c808 100644 --- a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/DelaunayMesh/DelaunayMeshIO.C +++ b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/DelaunayMesh/DelaunayMeshIO.C @@ -146,7 +146,8 @@ void Foam::DelaunayMesh<Triangulation>::printInfo(Ostream& os) const ++vit ) { - if (!vit->farPoint()) + // Only internal or boundary vertices have a size + if (vit->internalOrBoundaryPoint()) { minSize = min(vit->targetCellSize(), minSize); maxSize = max(vit->targetCellSize(), maxSize); @@ -361,19 +362,19 @@ Foam::DelaunayMesh<Triangulation>::createMesh // Calculate pts and a map of point index to location in pts. label vertI = 0; - labelIOField indices - ( - IOobject - ( - "indices", - time().timeName(), - name, - time(), - IOobject::NO_READ, - IOobject::AUTO_WRITE - ), - Triangulation::number_of_vertices() - ); +// labelIOField indices +// ( +// IOobject +// ( +// "indices", +// time().timeName(), +// name, +// time(), +// IOobject::NO_READ, +// IOobject::AUTO_WRITE +// ), +// Triangulation::number_of_vertices() +// ); labelIOField types ( @@ -414,7 +415,7 @@ Foam::DelaunayMesh<Triangulation>::createMesh { vertexMap(labelPair(vit->index(), vit->procIndex())) = vertI; points[vertI] = topoint(vit->point()); - indices[vertI] = vit->index(); +// indices[vertI] = vit->index(); types[vertI] = static_cast<label>(vit->type()); processorIndices[vertI] = vit->procIndex(); vertI++; @@ -422,7 +423,7 @@ Foam::DelaunayMesh<Triangulation>::createMesh } points.setSize(vertI); - indices.setSize(vertI); +// indices.setSize(vertI); types.setSize(vertI); processorIndices.setSize(vertI); @@ -477,8 +478,8 @@ Foam::DelaunayMesh<Triangulation>::createMesh bool c1Real = false; if ( - !c1->hasFarPoint() - && !Triangulation::is_infinite(c1) + !Triangulation::is_infinite(c1) + && !c1->hasFarPoint() && c1->real() ) { @@ -490,8 +491,8 @@ Foam::DelaunayMesh<Triangulation>::createMesh bool c2Real = false; if ( - !c2->hasFarPoint() - && !Triangulation::is_infinite(c2) + !Triangulation::is_infinite(c2) + && !c2->hasFarPoint() && c2->real() ) { @@ -637,7 +638,7 @@ Foam::DelaunayMesh<Triangulation>::createMesh if (writeDelaunayData) { - indices.write(); +// indices.write(); types.write(); processorIndices.write(); } diff --git a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/DelaunayMesh/DistributedDelaunayMesh.C b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/DelaunayMesh/DistributedDelaunayMesh.C index 4f7a07fab92de412ec0b49d0534e93dbf6a9c2f4..152a82c7f29afe9fbcf222df2625ec0bc7c93100 100644 --- a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/DelaunayMesh/DistributedDelaunayMesh.C +++ b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/DelaunayMesh/DistributedDelaunayMesh.C @@ -747,6 +747,44 @@ void Foam::DistributedDelaunayMesh<Triangulation>::sync // * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * // +template<class Triangulation> +Foam::scalar +Foam::DistributedDelaunayMesh<Triangulation>::calculateLoadUnbalance() const +{ + label nRealVertices = 0; + + for + ( + Finite_vertices_iterator vit = Triangulation::finite_vertices_begin(); + vit != Triangulation::finite_vertices_end(); + ++vit + ) + { + // Only store real vertices that are not feature vertices + if (vit->real() && !vit->featurePoint()) + { + nRealVertices++; + } + } + + scalar globalNRealVertices = returnReduce + ( + nRealVertices, + sumOp<label>() + ); + + scalar unbalance = returnReduce + ( + mag(1.0 - nRealVertices/(globalNRealVertices/Pstream::nProcs())), + maxOp<scalar>() + ); + + Info<< " Processor unbalance " << unbalance << endl; + + return unbalance; +} + + template<class Triangulation> bool Foam::DistributedDelaunayMesh<Triangulation>::distribute ( @@ -776,7 +814,8 @@ template<class Triangulation> Foam::autoPtr<Foam::mapDistribute> Foam::DistributedDelaunayMesh<Triangulation>::distribute ( - const backgroundMeshDecomposition& decomposition + const backgroundMeshDecomposition& decomposition, + List<Foam::point>& points ) { if (!Pstream::parRun()) @@ -786,21 +825,6 @@ Foam::DistributedDelaunayMesh<Triangulation>::distribute distributeBoundBoxes(decomposition.procBounds()); - DynamicList<point> points(Triangulation::number_of_vertices()); - - for - ( - Finite_vertices_iterator vit = Triangulation::finite_vertices_begin(); - vit != Triangulation::finite_vertices_end(); - ++vit - ) - { - if (vit->real()) - { - points.append(topoint(vit->point())); - } - } - autoPtr<mapDistribute> mapDist = decomposition.distributePoints(points); return mapDist; diff --git a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/DelaunayMesh/DistributedDelaunayMesh.H b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/DelaunayMesh/DistributedDelaunayMesh.H index c2acbf8a089476fc8e85c4034e52d965843bcbd2..1f5db3700f84ee842d7bea086ac85351adaeb3c6 100644 --- a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/DelaunayMesh/DistributedDelaunayMesh.H +++ b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/DelaunayMesh/DistributedDelaunayMesh.H @@ -153,6 +153,8 @@ public: //- Use DelaunayMesh timeCheck function using DelaunayMesh<Triangulation>::timeCheck; + scalar calculateLoadUnbalance() const; + // Member Functions @@ -164,7 +166,8 @@ public: autoPtr<mapDistribute> distribute ( - const backgroundMeshDecomposition& decomposition + const backgroundMeshDecomposition& decomposition, + List<Foam::point>& points ); //- Refer vertices so that the processor interfaces are consistent diff --git a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/DelaunayMeshTools/DelaunayMeshTools.C b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/DelaunayMeshTools/DelaunayMeshTools.C new file mode 100644 index 0000000000000000000000000000000000000000..c37e1fad9bbdc0e4dd8c7dbaa634405652251d36 --- /dev/null +++ b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/DelaunayMeshTools/DelaunayMeshTools.C @@ -0,0 +1,110 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / 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 <http://www.gnu.org/licenses/>. + +\*---------------------------------------------------------------------------*/ + +#include "DelaunayMeshTools.H" +#include "meshTools.H" +#include "OFstream.H" +#include "pointConversion.H" + +// * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * // + +void Foam::DelaunayMeshTools::writeOBJ +( + const fileName& fName, + const List<Foam::point>& points +) +{ + if (points.size()) + { + OFstream str(fName); + + Pout<< nl + << "Writing " << points.size() << " points from pointList to " + << str.name() << endl; + + forAll(points, p) + { + meshTools::writeOBJ(str, points[p]); + } + } +} + + +void Foam::DelaunayMeshTools::writeOBJ +( + const fileName& fName, + const List<Vb>& points +) +{ + if (points.size()) + { + OFstream str(fName); + + Pout<< nl + << "Writing " << points.size() << " points from pointList to " + << str.name() << endl; + + forAll(points, p) + { + meshTools::writeOBJ(str, topoint(points[p].point())); + } + } +} + + +void Foam::DelaunayMeshTools::writeObjMesh +( + const fileName& fName, + const pointField& points, + const faceList& faces +) +{ + OFstream str(fName); + + Pout<< nl + << "Writing points and faces to " << str.name() << endl; + + forAll(points, p) + { + meshTools::writeOBJ(str, points[p]); + } + + forAll(faces, f) + { + str<< 'f'; + + const face& fP = faces[f]; + + forAll(fP, p) + { + str<< ' ' << fP[p] + 1; + } + + str<< nl; + } +} + + +// ************************************************************************* // diff --git a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/DelaunayMeshTools/DelaunayMeshTools.H b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/DelaunayMeshTools/DelaunayMeshTools.H new file mode 100644 index 0000000000000000000000000000000000000000..5e517d27fed17f399c4acf4ed90ef96b0bbc35fa --- /dev/null +++ b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/DelaunayMeshTools/DelaunayMeshTools.H @@ -0,0 +1,152 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / 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 <http://www.gnu.org/licenses/>. + +Class + Foam::DelaunayMeshTools + +Description + Collection of functions for operating on a Delaunay mesh. Includes: + + - Functions for writing to an OBJ file + - Functions for extracting fields from the Delaunay triangulation + +SourceFiles + DelaunayMeshToolsI.H + DelaunayMeshTools.C + +\*---------------------------------------------------------------------------*/ + +#ifndef DelaunayMeshTools_H +#define DelaunayMeshTools_H + +#include "fileName.H" +#include "List.H" +#include "point.H" +#include "CGALTriangulation3Ddefs.H" +#include "indexedVertexEnum.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +/*---------------------------------------------------------------------------*\ + Namespace DelaunayMeshTools Declaration +\*---------------------------------------------------------------------------*/ + +namespace DelaunayMeshTools +{ + +// OBJ writing + + //- Write list of points to file + void writeOBJ(const fileName& fName, const List<Foam::point>& points); + + //- Write list of points to file + void writeOBJ(const fileName& fName, const List<Vb>& points); + + //- Write an OBJ mesh consisting of points and faces + void writeObjMesh + ( + const fileName& fName, + const pointField& points, + const faceList& faces + ); + + //- Write Delaunay points in the range between (and including) + // type startPointType and endPointType to an OBJ file + template<typename Triangulation> + void writeOBJ + ( + const fileName& fName, + const Triangulation& t, + const indexedVertexEnum::vertexType startPointType, + const indexedVertexEnum::vertexType endPointType + ); + + //- Write Delaunay points of type pointType to .obj file + template<typename Triangulation> + void writeOBJ + ( + const fileName& fName, + const Triangulation& t, + const indexedVertexEnum::vertexType pointType + ); + + //- Write the fixed Delaunay points to an OBJ file + template<typename Triangulation> + void writeFixedPoints(const fileName& fName, const Triangulation& t); + + //- Write the boundary Delaunay points to an OBJ file + template<typename Triangulation> + void writeBoundaryPoints(const fileName& fName, const Triangulation& t); + + //- Write the processor interface to an OBJ file + template<typename Triangulation> + void writeProcessorInterface + ( + const fileName& fName, + const Triangulation& t, + const faceList& faces + ); + + //- Write the internal Delaunay vertices of the tessellation as a + // pointField that may be used to restart the meshing process + template<typename Triangulation> + void writeInternalDelaunayVertices + ( + const fileName& instance, + const Triangulation& t + ); + + //- Draws a tet cell to an output stream. The offset is supplied as the tet + // number to be drawn. + template<typename CellHandle> + void drawDelaunayCell(Ostream& os, const CellHandle& c, label offset = 0); + + +// Field extraction + + //- Extract all points in vertex-index order + template<typename Triangulation> + tmp<pointField> allPoints(const Triangulation& t); + + +} // End namespace DelaunayMeshTools + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#ifdef NoRepository +# include "DelaunayMeshToolsTemplates.C" +#endif + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/DelaunayMeshTools/DelaunayMeshToolsTemplates.C b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/DelaunayMeshTools/DelaunayMeshToolsTemplates.C new file mode 100644 index 0000000000000000000000000000000000000000..551380c6e2017e2c7256482d8255ff63e1980f76 --- /dev/null +++ b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/DelaunayMeshTools/DelaunayMeshToolsTemplates.C @@ -0,0 +1,305 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / 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 <http://www.gnu.org/licenses/>. + +\*---------------------------------------------------------------------------*/ + +#include "DelaunayMeshTools.H" +#include "meshTools.H" +#include "OFstream.H" +#include "pointConversion.H" +#include "pointIOField.H" +#include "indexedVertexOps.H" + +// * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * // + +template<typename Triangulation> +void Foam::DelaunayMeshTools::writeOBJ +( + const fileName& fName, + const Triangulation& t, + const indexedVertexEnum::vertexType startPointType, + const indexedVertexEnum::vertexType endPointType +) +{ + OFstream str(fName); + + Pout<< nl + << "Writing points of types:" << nl; + + forAllConstIter + ( + HashTable<int>, + indexedVertexEnum::vertexTypeNames_, + iter + ) + { + if (iter() >= startPointType && iter() <= endPointType) + { + Pout<< " " << iter.key() << nl; + } + } + + Pout<< "to " << str.name() << endl; + + for + ( + typename Triangulation::Finite_vertices_iterator vit = + t.finite_vertices_begin(); + vit != t.finite_vertices_end(); + ++vit + ) + { + if (vit->type() >= startPointType && vit->type() <= endPointType) + { + meshTools::writeOBJ(str, topoint(vit->point())); + } + } +} + + +template<typename Triangulation> +void Foam::DelaunayMeshTools::writeOBJ +( + const fileName& fName, + const Triangulation& t, + const indexedVertexEnum::vertexType pointType +) +{ + writeOBJ(fName, t, pointType, pointType); +} + + +template<typename Triangulation> +void Foam::DelaunayMeshTools::writeFixedPoints +( + const fileName& fName, + const Triangulation& t +) +{ + OFstream str(fName); + + Pout<< nl + << "Writing fixed points to " << str.name() << endl; + + for + ( + typename Triangulation::Finite_vertices_iterator vit = + t.finite_vertices_begin(); + vit != t.finite_vertices_end(); + ++vit + ) + { + if (vit->fixed()) + { + meshTools::writeOBJ(str, topoint(vit->point())); + } + } +} + + +template<typename Triangulation> +void Foam::DelaunayMeshTools::writeBoundaryPoints +( + const fileName& fName, + const Triangulation& t +) +{ + OFstream str(fName); + + Pout<< nl + << "Writing boundary points to " << str.name() << endl; + + for + ( + typename Triangulation::Finite_vertices_iterator vit = + t.finite_vertices_begin(); + vit != t.finite_vertices_end(); + ++vit + ) + { + if (!vit->internalPoint()) + { + meshTools::writeOBJ(str, topoint(vit->point())); + } + } +} + + +template<typename Triangulation> +void Foam::DelaunayMeshTools::writeProcessorInterface +( + const fileName& fName, + const Triangulation& t, + const faceList& faces +) +{ + OFstream str(fName); + + pointField points(t.number_of_finite_cells(), point::max); + + for + ( + typename Triangulation::Finite_cells_iterator cit = + t.finite_cells_begin(); + cit != t.finite_cells_end(); + ++cit + ) + { + if (!cit->hasFarPoint() && !t.is_infinite(cit)) + { + points[cit->cellIndex()] = cit->dual(); + } + } + + meshTools::writeOBJ(str, faces, points); +} + + +template<typename Triangulation> +void Foam::DelaunayMeshTools::writeInternalDelaunayVertices +( + const fileName& instance, + const Triangulation& t +) +{ + pointField internalDelaunayVertices(t.number_of_vertices()); + + label vertI = 0; + + for + ( + typename Triangulation::Finite_vertices_iterator vit = + t.finite_vertices_begin(); + vit != t.finite_vertices_end(); + ++vit + ) + { + if (vit->internalPoint()) + { + internalDelaunayVertices[vertI++] = topoint(vit->point()); + } + } + + internalDelaunayVertices.setSize(vertI); + + pointIOField internalDVs + ( + IOobject + ( + "internalDelaunayVertices", + instance, + t.time(), + IOobject::NO_READ, + IOobject::AUTO_WRITE + ), + internalDelaunayVertices + ); + + Info<< nl + << "Writing " << internalDVs.name() + << " to " << internalDVs.instance() + << endl; + + internalDVs.write(); +} + + +template<typename CellHandle> +void Foam::DelaunayMeshTools::drawDelaunayCell +( + Ostream& os, + const CellHandle& c, + label offset +) +{ + // Supply offset as tet number + offset *= 4; + + os << "# cell index: " << label(c->cellIndex()) + << " INT_MIN = " << INT_MIN + << endl; + + os << "# circumradius " + << mag(c->dual() - topoint(c->vertex(0)->point())) + << endl; + + for (int i = 0; i < 4; i++) + { + os << "# index / type / procIndex: " + << label(c->vertex(i)->index()) << " " + << label(c->vertex(i)->type()) << " " + << label(c->vertex(i)->procIndex()) + << + ( + CGAL::indexedVertexOps::uninitialised(c->vertex(i)) + ? " # This vertex is uninitialised!" + : "" + ) + << endl; + + meshTools::writeOBJ(os, topoint(c->vertex(i)->point())); + } + + os << "f " << 1 + offset << " " << 3 + offset << " " << 2 + offset << nl + << "f " << 2 + offset << " " << 3 + offset << " " << 4 + offset << nl + << "f " << 1 + offset << " " << 4 + offset << " " << 3 + offset << nl + << "f " << 1 + offset << " " << 2 + offset << " " << 4 + offset << endl; + +// os << "# cicumcentre " << endl; + +// meshTools::writeOBJ(os, c->dual()); + +// os << "l " << 1 + offset << " " << 5 + offset << endl; +} + + +template<typename Triangulation> +Foam::tmp<Foam::pointField> Foam::DelaunayMeshTools::allPoints +( + const Triangulation& t +) +{ + tmp<pointField> tpts(new pointField(t.number_of_vertices(), point::max)); + pointField& pts = tpts(); + + label nVert = 0; + + for + ( + typename Triangulation::Finite_vertices_iterator vit = + t.finite_vertices_begin(); + vit != t.finite_vertices_end(); + ++vit + ) + { + if (vit->internalOrBoundaryPoint()) + { + pts[nVert++] = topoint(vit->point()); + } + } + + return tpts; +} + + +// ************************************************************************* // diff --git a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/Make/files b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/Make/files index ca374fb5f4a1e93c0b035e8e25165c7a31ad6f11..e42c52451fce119c4084e9f8655da650a0700f8d 100644 --- a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/Make/files +++ b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/Make/files @@ -1,5 +1,7 @@ #include CGAL_FILES +DelaunayMeshTools/DelaunayMeshTools.C + conformalVoronoiMesh/indexedVertex/indexedVertexEnum.C conformalVoronoiMesh/indexedCell/indexedCellEnum.C @@ -8,7 +10,10 @@ conformalVoronoiMesh/conformalVoronoiMeshCalcDualMesh.C conformalVoronoiMesh/conformalVoronoiMeshConformToSurface.C conformalVoronoiMesh/conformalVoronoiMeshIO.C conformalVoronoiMesh/conformalVoronoiMeshFeaturePoints.C -conformalVoronoiMesh/conformalVoronoiMeshFeaturePointSpecialisations.C + +conformalVoronoiMesh/featurePointConformer/pointFeatureEdgesTypes.C +conformalVoronoiMesh/featurePointConformer/featurePointConformer.C +conformalVoronoiMesh/featurePointConformer/featurePointConformerSpecialisations.C cvControls/cvControls.C diff --git a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/PrintTable/PrintTable.C b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/PrintTable/PrintTable.C index 8bfa8e4749599fe0abf7b5c4c2950f5ee7ccd0a4..a73635e7293f05fff63088f3df3a3ad7842cdd32 100644 --- a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/PrintTable/PrintTable.C +++ b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/PrintTable/PrintTable.C @@ -143,7 +143,7 @@ void Foam::PrintTable<KeyType, DataType>::print os << nl << indent << tab << "# " << title_.c_str() << endl; os.width(largestKeyLength); - os << indent << "# Proc No"; + os << indent << "# Proc"; forAll(procData, procI) { diff --git a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/backgroundMeshDecomposition/backgroundMeshDecomposition.C b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/backgroundMeshDecomposition/backgroundMeshDecomposition.C index e14100cd0039c9d51059788051eadf6c0c7acda6..51e113c81f309228a94d92a1eecf09d7c09ddf33 100644 --- a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/backgroundMeshDecomposition/backgroundMeshDecomposition.C +++ b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/backgroundMeshDecomposition/backgroundMeshDecomposition.C @@ -29,6 +29,7 @@ License #include "zeroGradientFvPatchFields.H" #include "Time.H" #include "Random.H" +#include "pointConversion.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // @@ -1043,22 +1044,6 @@ Foam::backgroundMeshDecomposition::distribute } -Foam::autoPtr<Foam::mapDistribute> -Foam::backgroundMeshDecomposition::distributePoints -( - List<point>& points -) const -{ - labelList toProc(processorPosition(points)); - - autoPtr<mapDistribute> map(buildMap(toProc)); - - map().distribute(points); - - return map; -} - - bool Foam::backgroundMeshDecomposition::positionOnThisProcessor ( const point& pt @@ -1128,141 +1113,6 @@ Foam::pointIndexHit Foam::backgroundMeshDecomposition::findLineAny } -Foam::labelList Foam::backgroundMeshDecomposition::processorPosition -( - const List<point>& pts -) const -{ - DynamicList<label> toCandidateProc; - DynamicList<point> testPoints; - labelList ptBlockStart(pts.size(), -1); - labelList ptBlockSize(pts.size(), -1); - - label nTotalCandidates = 0; - - forAll(pts, pI) - { - const point& pt = pts[pI]; - - label nCandidates = 0; - - forAll(allBackgroundMeshBounds_, procI) - { - if (allBackgroundMeshBounds_[procI].contains(pt)) - { - toCandidateProc.append(procI); - testPoints.append(pt); - - nCandidates++; - } - } - - ptBlockStart[pI] = nTotalCandidates; - ptBlockSize[pI] = nCandidates; - - nTotalCandidates += nCandidates; - } - - // Needed for reverseDistribute - label preDistributionToCandidateProcSize = toCandidateProc.size(); - - autoPtr<mapDistribute> map(buildMap(toCandidateProc)); - - map().distribute(testPoints); - - List<bool> pointOnCandidate(testPoints.size(), false); - - // Test candidate points on candidate processors - forAll(testPoints, tPI) - { - pointOnCandidate[tPI] = positionOnThisProcessor(testPoints[tPI]); - } - - map().reverseDistribute - ( - preDistributionToCandidateProcSize, - pointOnCandidate - ); - - labelList ptProc(pts.size(), -1); - - DynamicList<label> failedPointIndices; - DynamicList<point> failedPoints; - - forAll(pts, pI) - { - // Extract the sub list of results for this point - - SubList<bool> ptProcResults - ( - pointOnCandidate, - ptBlockSize[pI], - ptBlockStart[pI] - ); - - forAll(ptProcResults, pPRI) - { - if (ptProcResults[pPRI]) - { - ptProc[pI] = toCandidateProc[ptBlockStart[pI] + pPRI]; - - break; - } - } - - if (ptProc[pI] < 0) - { - if (!globalBackgroundBounds_.contains(pts[pI])) - { - FatalErrorIn - ( - "Foam::labelList" - "Foam::backgroundMeshDecomposition::processorPosition" - "(" - "const List<point>&" - ") const" - ) - << "The position " << pts[pI] - << " is not in any part of the background mesh " - << globalBackgroundBounds_ << endl - << "A background mesh with a wider margin around " - << "the geometry may help." - << exit(FatalError); - } - - if (debug) - { - WarningIn - ( - "Foam::labelList" - "Foam::backgroundMeshDecomposition::processorPosition" - "(" - "const List<point>&" - ") const" - ) << "The position " << pts[pI] - << " was not found in the background mesh " - << globalBackgroundBounds_ << ", finding nearest." - << endl; - } - - failedPointIndices.append(pI); - failedPoints.append(pts[pI]); - } - } - - labelList ptNearestProc(processorNearestPosition(failedPoints)); - - forAll(failedPoints, fPI) - { - label pI = failedPointIndices[fPI]; - - ptProc[pI] = ptNearestProc[fPI]; - } - - return ptProc; -} - - Foam::labelList Foam::backgroundMeshDecomposition::processorNearestPosition ( const List<point>& pts diff --git a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/backgroundMeshDecomposition/backgroundMeshDecomposition.H b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/backgroundMeshDecomposition/backgroundMeshDecomposition.H index 97b270a606d60c77f702540694c5a23dc704b595..94ad818c48ae0fada693c647d473c434003a7fe3 100644 --- a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/backgroundMeshDecomposition/backgroundMeshDecomposition.H +++ b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/backgroundMeshDecomposition/backgroundMeshDecomposition.H @@ -72,6 +72,7 @@ SourceFiles #include "indexedOctree.H" #include "treeDataPrimitivePatch.H" #include "volumeType.H" +#include "CGALTriangulation3Ddefs.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -224,7 +225,8 @@ public: ); //- Distribute supplied the points to the appropriate processor - autoPtr<mapDistribute> distributePoints(List<point>& points) const; + template<typename PointType> + autoPtr<mapDistribute> distributePoints(List<PointType>& points) const; //- Is the given position inside the domain of this decomposition bool positionOnThisProcessor(const point& pt) const; @@ -261,7 +263,8 @@ public: ) const; //- What processor is the given position on? - labelList processorPosition(const List<point>& pts) const; + template<typename PointType> + labelList processorPosition(const List<PointType>& pts) const; //- What is the nearest processor to the given position? labelList processorNearestPosition(const List<point>& pts) const; @@ -334,6 +337,10 @@ public: #include "backgroundMeshDecompositionI.H" +#ifdef NoRepository +# include "backgroundMeshDecompositionTemplates.C" +#endif + // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // #endif diff --git a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/backgroundMeshDecomposition/backgroundMeshDecompositionTemplates.C b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/backgroundMeshDecomposition/backgroundMeshDecompositionTemplates.C new file mode 100644 index 0000000000000000000000000000000000000000..148de2bafa0885af5f196c6ff3be60059b02b8e7 --- /dev/null +++ b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/backgroundMeshDecomposition/backgroundMeshDecompositionTemplates.C @@ -0,0 +1,186 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / 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 <http://www.gnu.org/licenses/>. + +\*---------------------------------------------------------------------------*/ + +#include "backgroundMeshDecomposition.H" +#include "pointConversion.H" + +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +template<typename PointType> +Foam::autoPtr<Foam::mapDistribute> +Foam::backgroundMeshDecomposition::distributePoints +( + List<PointType>& points +) const +{ + labelList toProc(processorPosition(points)); + + autoPtr<mapDistribute> map(buildMap(toProc)); + + map().distribute(points); + + return map; +} + + +template<typename PointType> +Foam::labelList Foam::backgroundMeshDecomposition::processorPosition +( + const List<PointType>& pts +) const +{ + DynamicList<label> toCandidateProc; + DynamicList<point> testPoints; + labelList ptBlockStart(pts.size(), -1); + labelList ptBlockSize(pts.size(), -1); + + label nTotalCandidates = 0; + + forAll(pts, pI) + { + const pointFromPoint pt = topoint(pts[pI]); + + label nCandidates = 0; + + forAll(allBackgroundMeshBounds_, procI) + { + if (allBackgroundMeshBounds_[procI].contains(pt)) + { + toCandidateProc.append(procI); + testPoints.append(pt); + + nCandidates++; + } + } + + ptBlockStart[pI] = nTotalCandidates; + ptBlockSize[pI] = nCandidates; + + nTotalCandidates += nCandidates; + } + + // Needed for reverseDistribute + label preDistributionToCandidateProcSize = toCandidateProc.size(); + + autoPtr<mapDistribute> map(buildMap(toCandidateProc)); + + map().distribute(testPoints); + + List<bool> pointOnCandidate(testPoints.size(), false); + + // Test candidate points on candidate processors + forAll(testPoints, tPI) + { + pointOnCandidate[tPI] = positionOnThisProcessor(testPoints[tPI]); + } + + map().reverseDistribute + ( + preDistributionToCandidateProcSize, + pointOnCandidate + ); + + labelList ptProc(pts.size(), -1); + + DynamicList<label> failedPointIndices; + DynamicList<point> failedPoints; + + forAll(pts, pI) + { + // Extract the sub list of results for this point + + SubList<bool> ptProcResults + ( + pointOnCandidate, + ptBlockSize[pI], + ptBlockStart[pI] + ); + + forAll(ptProcResults, pPRI) + { + if (ptProcResults[pPRI]) + { + ptProc[pI] = toCandidateProc[ptBlockStart[pI] + pPRI]; + + break; + } + } + + if (ptProc[pI] < 0) + { + const pointFromPoint pt = topoint(pts[pI]); + + if (!globalBackgroundBounds_.contains(pt)) + { + FatalErrorIn + ( + "Foam::labelList" + "Foam::backgroundMeshDecomposition::processorPosition" + "(" + "const List<point>&" + ") const" + ) + << "The position " << pt + << " is not in any part of the background mesh " + << globalBackgroundBounds_ << endl + << "A background mesh with a wider margin around " + << "the geometry may help." + << exit(FatalError); + } + + if (debug) + { + WarningIn + ( + "Foam::labelList" + "Foam::backgroundMeshDecomposition::processorPosition" + "(" + "const List<point>&" + ") const" + ) << "The position " << pt + << " was not found in the background mesh " + << globalBackgroundBounds_ << ", finding nearest." + << endl; + } + + failedPointIndices.append(pI); + failedPoints.append(pt); + } + } + + labelList ptNearestProc(processorNearestPosition(failedPoints)); + + forAll(failedPoints, fPI) + { + label pI = failedPointIndices[fPI]; + + ptProc[pI] = ptNearestProc[fPI]; + } + + return ptProc; +} + + +// ************************************************************************* // diff --git a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/cellShapeControl/cellShapeControl/cellShapeControl.C b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/cellShapeControl/cellShapeControl/cellShapeControl.C index 58ed8eb34ccbfb86ab7b98733a2da316a07f9041..1dd0f4ca817a4ca1e61f2fc8861cd0b42d44376c 100644 --- a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/cellShapeControl/cellShapeControl/cellShapeControl.C +++ b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/cellShapeControl/cellShapeControl/cellShapeControl.C @@ -30,6 +30,7 @@ License #include "cellSizeAndAlignmentControl.H" #include "searchableSurfaceControl.H" #include "cellSizeFunction.H" +#include "indexedVertexOps.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // @@ -152,7 +153,7 @@ Foam::scalar Foam::cellShapeControl::cellSize(const point& pt) const { for (label pI = 0; pI < 4; ++pI) { - if (!ch->vertex(pI)->uninitialised()) + if (!CGAL::indexedVertexOps::uninitialised(ch->vertex(pI))) { size = ch->vertex(pI)->targetCellSize(); return size; @@ -276,7 +277,7 @@ void Foam::cellShapeControl::cellSizeAndAlignment { for (label pI = 0; pI < 4; ++pI) { - if (!ch->vertex(pI)->uninitialised()) + if (!CGAL::indexedVertexOps::uninitialised(ch->vertex(pI))) { size = ch->vertex(pI)->targetCellSize(); alignment = ch->vertex(pI)->alignment(); diff --git a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/cellShapeControl/cellShapeControlMesh/cellShapeControlMesh.C b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/cellShapeControl/cellShapeControlMesh/cellShapeControlMesh.C index 52d14633b4312341aa6acc2bf8c12cc5c074a0cd..71ba6933fbb3a67780bafad1113238cd8b4e3b00 100644 --- a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/cellShapeControl/cellShapeControlMesh/cellShapeControlMesh.C +++ b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/cellShapeControl/cellShapeControlMesh/cellShapeControlMesh.C @@ -425,7 +425,6 @@ Foam::cellShapeControlMesh::cellShapeControlMesh(const Time& runTime) && alignments.size() == this->vertexCount() ) { - label count = 0; for ( Finite_vertices_iterator vit = finite_vertices_begin(); @@ -433,9 +432,8 @@ Foam::cellShapeControlMesh::cellShapeControlMesh(const Time& runTime) ++vit ) { - vit->targetCellSize() = sizes[count]; - vit->alignment() = alignments[count]; - count++; + vit->targetCellSize() = sizes[vit->index()]; + vit->alignment() = alignments[vit->index()]; } } else @@ -453,155 +451,6 @@ Foam::cellShapeControlMesh::cellShapeControlMesh(const Time& runTime) } -//Foam::triangulatedMesh::triangulatedMesh -//( -// const Time& runTime, -// const fileName& pointsFile, -// const fileName& sizesFile, -// const fileName& alignmentsFile, -// const scalar& defaultCellSize -//) -//: -// defaultCellSize_(defaultCellSize) -//{ -// Info<< " Reading points from file : " << pointsFile << endl; -// -// pointIOField points -// ( -// IOobject -// ( -// pointsFile, -// runTime.constant(), -// runTime, -// IOobject::MUST_READ, -// IOobject::NO_WRITE -// ) -// ); -// -// Info<< " Reading sizes from file : " << sizesFile << endl; -// -// scalarIOField sizes -// ( -// IOobject -// ( -// sizesFile, -// runTime.constant(), -// runTime, -// IOobject::MUST_READ, -// IOobject::NO_WRITE -// ) -// ); -// -// Info<< " Reading alignments from file : " << alignmentsFile << endl; -// -// tensorIOField alignments -// ( -// IOobject -// ( -// alignmentsFile, -// runTime.constant(), -// runTime, -// IOobject::MUST_READ, -// IOobject::NO_WRITE -// ) -// ); -// -// Info<< " Number of points : " << points.size() << endl; -// Info<< " Minimum size : " << min(sizes) << endl; -// Info<< " Average size : " << average(sizes) << endl; -// Info<< " Maximum size : " << max(sizes) << endl; -// -// forAll(points, pI) -// { -// size_t nVert = number_of_vertices(); -// -// Vertex_handle v = insert -// ( -// Point(points[pI].x(), points[pI].y(), points[pI].z()) -// ); -// -// if (number_of_vertices() == nVert) -// { -// Info<< " Failed to insert point : " << points[pI] << endl; -// } -// -// v->targetCellSize() = sizes[pI]; -// -// const tensor& alignment = alignments[pI]; -// -// -// -// v->alignment() = alignment; -// } -// -//// scalar factor = 1.0; -//// label maxIteration = 1; -//// -//// for (label iteration = 0; iteration < maxIteration; ++iteration) -//// { -//// Info<< "Iteration : " << iteration << endl; -//// -//// label nRefined = refineTriangulation(factor); -//// -//// Info<< " Number of cells refined in refinement iteration : " -//// << nRefined << nl << endl; -//// -//// if (nRefined <= 0 && iteration != 0) -//// { -//// break; -//// } -//// -//// factor *= 1.5; -//// } -// -// //writeRefinementTriangulation(); -//} - - -//Foam::triangulatedMesh::triangulatedMesh -//( -// const Time& runTime, -// const DynamicList<Foam::point>& points, -// const DynamicList<scalar>& sizes, -// const DynamicList<tensor>& alignments, -// const scalar& defaultCellSize -//) -//: -// defaultCellSize_(defaultCellSize) -//{ -// forAll(points, pI) -// { -// size_t nVert = number_of_vertices(); -// -// Vertex_handle v = insert -// ( -// Point(points[pI].x(), points[pI].y(), points[pI].z()) -// ); -// -// if (number_of_vertices() == nVert) -// { -// Info<< "Failed to insert point : " << points[pI] << endl; -// } -// -// v->targetCellSize() = sizes[pI]; -// -// v->alignment() = alignments[pI]; -// } -// -// //writeRefinementTriangulation(); -// -// Info<< nl << "Refinement triangulation information: " << endl; -// Info<< " Number of vertices: " << label(number_of_vertices()) << endl; -// Info<< " Number of cells : " -// << label(number_of_finite_cells()) << endl; -// Info<< " Number of faces : " -// << label(number_of_finite_facets()) << endl; -// Info<< " Number of edges : " -// << label(number_of_finite_edges()) << endl; -// Info<< " Dimensionality : " << label(dimension()) << nl << endl; -//} - - // * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // Foam::cellShapeControlMesh::~cellShapeControlMesh() @@ -619,7 +468,7 @@ void Foam::cellShapeControlMesh::barycentricCoords { // Use the previous cell handle as a hint on where to start searching // Giving a hint causes strange errors... - ch = locate(toPoint<Point>(pt)); + ch = locate(toPoint(pt)); if (dimension() > 2 && !is_infinite(ch)) { @@ -666,14 +515,6 @@ void Foam::cellShapeControlMesh::distribute const backgroundMeshDecomposition& decomposition ) { - if (!Pstream::parRun()) - { - return; - } - - autoPtr<mapDistribute> mapDist = - DistributedDelaunayMesh<CellSizeDelaunay>::distribute(decomposition); - DynamicList<Foam::point> points(number_of_vertices()); DynamicList<scalar> sizes(number_of_vertices()); DynamicList<tensor> alignments(number_of_vertices()); @@ -711,7 +552,13 @@ void Foam::cellShapeControlMesh::distribute } } - mapDist().distribute(points); + autoPtr<mapDistribute> mapDist = + DistributedDelaunayMesh<CellSizeDelaunay>::distribute + ( + decomposition, + points + ); + mapDist().distribute(sizes); mapDist().distribute(alignments); @@ -735,7 +582,7 @@ void Foam::cellShapeControlMesh::distribute ( Vb ( - toPoint<Point>(points[pI]), + toPoint(points[pI]), -1, Vb::vtInternal, Pstream::myProcNo() diff --git a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/cellShapeControl/cellSizeAndAlignmentControl/searchableSurfaceControl/searchableSurfaceControl.C b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/cellShapeControl/cellSizeAndAlignmentControl/searchableSurfaceControl/searchableSurfaceControl.C index c2294f98a4750086a82d994b1d059a18f2c5e06d..bff35cff69a19ff1202ba881e63e645a236db52e 100644 --- a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/cellShapeControl/cellSizeAndAlignmentControl/searchableSurfaceControl/searchableSurfaceControl.C +++ b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/cellShapeControl/cellSizeAndAlignmentControl/searchableSurfaceControl/searchableSurfaceControl.C @@ -328,7 +328,7 @@ Foam::searchableSurfaceControl::searchableSurfaceControl cellSizeFunctions_.reorder(invertedFunctionPriorities); - Info<< nl << "There are " << cellSizeFunctions_.size() + Info<< nl << indent << "There are " << cellSizeFunctions_.size() << " region control functions" << endl; } @@ -487,24 +487,25 @@ void Foam::searchableSurfaceControl::cellSizeFunctionVertices const scalar nearFeatDistSqrCoeff = 1e-8; + pointField ptField(1, vector::min); + scalarField distField(1, nearFeatDistSqrCoeff); + List<pointIndexHit> infoList(1, pointIndexHit()); + + vectorField normals(1); + labelList region(1, -1); + forAll(points, pI) { // Is the point in the extendedFeatureEdgeMesh? If so get the // point normal, otherwise get the surface normal from // searchableSurface - - pointField ptField(1, points[pI]); - scalarField distField(1, nearFeatDistSqrCoeff); - List<pointIndexHit> infoList(1, pointIndexHit()); + ptField[0] = points[pI]; searchableSurface_.findNearest(ptField, distField, infoList); if (infoList[0].hit()) { - vectorField normals(1); searchableSurface_.getNormal(infoList, normals); - - labelList region(1, -1); searchableSurface_.getRegion(infoList, region); const cellSizeFunction& sizeFunc = diff --git a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/cellShapeControl/controlMeshRefinement/controlMeshRefinement.C b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/cellShapeControl/controlMeshRefinement/controlMeshRefinement.C index 5a4b0c785a8b4821f40d45063975ee8ce605f324..b100d8eebb5ef531993257d227faa3e134cd39b2 100644 --- a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/cellShapeControl/controlMeshRefinement/controlMeshRefinement.C +++ b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/cellShapeControl/controlMeshRefinement/controlMeshRefinement.C @@ -284,14 +284,9 @@ void Foam::controlMeshRefinement::initialMeshPopulation { vertices[vI] = Vb(pts[vI], Vb::vtInternalNearBoundary); -// Info<< "Find size of vertex " << vI << endl; - label maxPriority = -1; scalar size = sizeControls_.cellSize(pts[vI], maxPriority); -// Info<< " Size = " << size << ", priority = " << maxPriority -// << endl; - if (maxPriority > controlFunction.maxPriority()) { vertices[vI].targetCellSize() = max @@ -763,7 +758,7 @@ Foam::label Foam::controlMeshRefinement::refineMesh ( Vb ( - toPoint<cellShapeControlMesh::Point>(pt), + toPoint(pt), Vb::vtInternal ) ); diff --git a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/cellSizeControlSurfaces/surfaceCellSizeFunction/cellSizeCalculationType/fieldFromFile/fieldFromFile.C b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/cellSizeControlSurfaces/surfaceCellSizeFunction/cellSizeCalculationType/fieldFromFile/fieldFromFile.C index 99a246ed77681e06a79fe62011c95f95702932e1..7f506c90e61349bc87a66af0d6b4d0d85348f906 100644 --- a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/cellSizeControlSurfaces/surfaceCellSizeFunction/cellSizeCalculationType/fieldFromFile/fieldFromFile.C +++ b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/cellSizeControlSurfaces/surfaceCellSizeFunction/cellSizeCalculationType/fieldFromFile/fieldFromFile.C @@ -58,9 +58,14 @@ Foam::fieldFromFile::fieldFromFile surface, defaultCellSize ), + coeffsDict_(cellSizeCalcTypeDict.subDict(typeName + "Coeffs")), fileName_ ( cellSizeCalcTypeDict.subDict(typeName + "Coeffs").lookup("fieldFile") + ), + cellSizeMultipleCoeff_ + ( + coeffsDict_.lookupOrDefault<scalar>("cellSizeMultipleCoeff", 1) ) {} @@ -90,6 +95,8 @@ Foam::tmp<Foam::triSurfacePointScalarField> Foam::fieldFromFile::load() ) ); + pointCellSize() *= cellSizeMultipleCoeff_; + return pointCellSize; } diff --git a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/cellSizeControlSurfaces/surfaceCellSizeFunction/cellSizeCalculationType/fieldFromFile/fieldFromFile.H b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/cellSizeControlSurfaces/surfaceCellSizeFunction/cellSizeCalculationType/fieldFromFile/fieldFromFile.H index 38d933177ccedeb5777774c347e06e5d82f831f4..eade58895479636e7f4c35f6b5a7f1b1be44e7f9 100644 --- a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/cellSizeControlSurfaces/surfaceCellSizeFunction/cellSizeCalculationType/fieldFromFile/fieldFromFile.H +++ b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/cellSizeControlSurfaces/surfaceCellSizeFunction/cellSizeCalculationType/fieldFromFile/fieldFromFile.H @@ -58,10 +58,16 @@ private: // Private data + //- Dictionary of coefficients for automatic cell sizing + const dictionary& coeffsDict_; + //- Name of the triSurfaceScalarField file to load in. Must be in // constant/triSurface const word fileName_; + //- Multiply all the point sizes by this value + const scalar cellSizeMultipleCoeff_; + public: diff --git a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/cellSizeControlSurfaces/surfaceCellSizeFunction/nonUniformField/nonUniformField.C b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/cellSizeControlSurfaces/surfaceCellSizeFunction/nonUniformField/nonUniformField.C index 0415f1f3ffcae87431e2a97454ea94a4e2a8ff07..0e9a9b8352f5e357a09bfdcd3d36ede56399d468 100644 --- a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/cellSizeControlSurfaces/surfaceCellSizeFunction/nonUniformField/nonUniformField.C +++ b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/cellSizeControlSurfaces/surfaceCellSizeFunction/nonUniformField/nonUniformField.C @@ -109,7 +109,7 @@ Foam::scalar Foam::nonUniformField::interpolate const face& faceHitByPt = surfaceTriMesh_.triSurface::operator[](index); const pointField& pts = surfaceTriMesh_.points(); - const Map<label>& pMap = surfaceTriMesh_.meshPointMap(); +// const Map<label>& pMap = surfaceTriMesh_.meshPointMap(); triPointRef tri ( @@ -122,9 +122,12 @@ Foam::scalar Foam::nonUniformField::interpolate tri.barycentric(pt, bary); - return pointCellSize_[pMap[faceHitByPt[0]]]*bary[0] - + pointCellSize_[pMap[faceHitByPt[1]]]*bary[1] - + pointCellSize_[pMap[faceHitByPt[2]]]*bary[2]; +// return pointCellSize_[pMap[faceHitByPt[0]]]*bary[0] +// + pointCellSize_[pMap[faceHitByPt[1]]]*bary[1] +// + pointCellSize_[pMap[faceHitByPt[2]]]*bary[2]; + return pointCellSize_[faceHitByPt[0]]*bary[0] + + pointCellSize_[faceHitByPt[1]]*bary[1] + + pointCellSize_[faceHitByPt[2]]*bary[2]; } diff --git a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/CGALTriangulation3DKernel.H b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/CGALTriangulation3DKernel.H index b3cc3dd5a3d898228e8cc15eadd10d3454878826..80a2912ad6af0017cfff0ec2d0b7664044678044 100644 --- a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/CGALTriangulation3DKernel.H +++ b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/CGALTriangulation3DKernel.H @@ -38,12 +38,14 @@ Description #ifdef CGAL_INEXACT // Fast kernel using a double as the storage type but the triangulation may - // fail. Adding robust circumcentre traits + // fail. Adding robust circumcentre traits. #include "CGAL/Exact_predicates_inexact_constructions_kernel.h" typedef CGAL::Exact_predicates_inexact_constructions_kernel baseK; + // #include <CGAL/Robust_circumcenter_traits_3.h> - #include <CGAL/Robust_circumcenter_filtered_traits_3.h> // typedef CGAL::Robust_circumcenter_traits_3<baseK> K; + + #include <CGAL/Robust_circumcenter_filtered_traits_3.h> typedef CGAL::Robust_circumcenter_filtered_traits_3<baseK> K; #else @@ -55,6 +57,7 @@ Description #endif + // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // #endif diff --git a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/CGALTriangulation3Ddefs.H b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/CGALTriangulation3Ddefs.H index 59c627c9464f6aec85132609721159a18a4d9ecb..e836a822b83b9dfd9aff7b8dda870ba50ff11717 100644 --- a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/CGALTriangulation3Ddefs.H +++ b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/CGALTriangulation3Ddefs.H @@ -53,6 +53,7 @@ typedef CGAL::Triangulation_data_structure_3<Vb, Cb> Tds; typedef CGAL::Delaunay_triangulation_3<K, Tds, CompactLocator> Delaunay; typedef CGAL::Delaunay_triangulation_3<K, Tds, FastLocator> CellSizeDelaunay; + // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // #endif diff --git a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMesh.C b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMesh.C index 3ba5b8c9e733793b5a9b7669bdf84b62a20e3efb..6f137249c1c4b8ecaa5680b60aa19663b011e9f7 100644 --- a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMesh.C +++ b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMesh.C @@ -34,6 +34,8 @@ License #include "controlMeshRefinement.H" #include "smoothAlignmentSolver.H" #include "OBJstream.H" +#include "indexedVertexOps.H" +#include "DelaunayMeshTools.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // @@ -42,8 +44,6 @@ namespace Foam defineTypeNameAndDebug(conformalVoronoiMesh, 0); } -const Foam::scalar Foam::conformalVoronoiMesh::tolParallel = 1e-3; - // * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * * // @@ -124,12 +124,13 @@ void Foam::conformalVoronoiMesh::insertInternalPoints decomposition_().distributePoints(transferPoints) ); + transferPoints.clear(); + map().distribute(points); } label nVert = number_of_vertices(); - // using the range insert (faster than inserting points one by one) insert(points.begin(), points.end()); label nInserted(number_of_vertices() - nVert); @@ -152,7 +153,7 @@ void Foam::conformalVoronoiMesh::insertInternalPoints ++vit ) { - if (vit->uninitialised()) + if (CGAL::indexedVertexOps::uninitialised(vit)) { vit->index() = getNewVertexIndex(); vit->type() = Vb::vtInternal; @@ -169,24 +170,7 @@ void Foam::conformalVoronoiMesh::insertPoints { if (Pstream::parRun() && distribute) { - const label preDistributionSize = vertices.size(); - - List<Foam::point> pts(preDistributionSize); - - forAll(vertices, vI) - { - const Foam::point& pt = topoint(vertices[vI].point()); - - pts[vI] = pt; - } - - // Distribute points to their appropriate processor - autoPtr<mapDistribute> map - ( - decomposition_().distributePoints(pts) - ); - - map().distribute(vertices); + decomposition_().distributePoints(vertices); forAll(vertices, vI) { @@ -196,12 +180,7 @@ void Foam::conformalVoronoiMesh::insertPoints label preReinsertionSize(number_of_vertices()); - rangeInsertWithInfo - ( - vertices.begin(), - vertices.end(), - false - ); + this->DelaunayMesh<Delaunay>::insertPoints(vertices); const label nReinserted = returnReduce ( @@ -288,7 +267,7 @@ void Foam::conformalVoronoiMesh::insertSurfacePointPairs if (foamyHexMeshControls().objOutput() && fName != fileName::null) { - writePoints(fName, pts); + DelaunayMeshTools::writeOBJ(time().path()/fName, pts); } } @@ -328,7 +307,7 @@ void Foam::conformalVoronoiMesh::insertEdgePointGroups if (foamyHexMeshControls().objOutput() && fName != fileName::null) { - writePoints(fName, pts); + DelaunayMeshTools::writeOBJ(time().path()/fName, pts); } } @@ -381,9 +360,10 @@ void Foam::conformalVoronoiMesh::insertInitialPoints() if (foamyHexMeshControls().objOutput()) { - writePoints + DelaunayMeshTools::writeOBJ ( - "initialPoints.obj", + time().path()/"initialPoints.obj", + *this, Foam::indexedVertexEnum::vtInternal ); } @@ -397,9 +377,6 @@ void Foam::conformalVoronoiMesh::distribute() return; } - autoPtr<mapDistribute> mapDist = - DistributedDelaunayMesh<Delaunay>::distribute(decomposition_()); - DynamicList<Foam::point> points(number_of_vertices()); DynamicList<Foam::indexedVertexEnum::vertexType> types ( @@ -424,7 +401,9 @@ void Foam::conformalVoronoiMesh::distribute() } } - mapDist().distribute(points); + autoPtr<mapDistribute> mapDist = + DistributedDelaunayMesh<Delaunay>::distribute(decomposition_(), points); + mapDist().distribute(types); mapDist().distribute(sizes); mapDist().distribute(alignments); @@ -444,7 +423,7 @@ void Foam::conformalVoronoiMesh::distribute() ( Vb ( - toPoint<Point>(points[pI]), + toPoint(points[pI]), -1, types[pI], Pstream::myProcNo() @@ -549,7 +528,7 @@ void Foam::conformalVoronoiMesh::buildCellSizeAndAlignmentMesh() << (cellSizeMesh.is_valid() ? "valid" : "not valid!" ) << endl; - if (!Pstream::parRun() && foamyHexMeshControls().objOutput()) + if (foamyHexMeshControls().writeCellShapeControlMesh()) { //cellSizeMesh.writeTriangulation(); cellSizeMesh.write(); @@ -583,7 +562,7 @@ void Foam::conformalVoronoiMesh::setVertexSizeAndAlignment() { if (vit->internalOrBoundaryPoint()) { - pointFromPoint pt = topoint(vit->point()); + const pointFromPoint pt = topoint(vit->point()); cellShapeControls().cellSizeAndAlignment ( @@ -625,29 +604,31 @@ Foam::face Foam::conformalVoronoiMesh::buildDualFace Vertex_handle vA = c->vertex(eit->second); Vertex_handle vB = c->vertex(eit->third); - drawDelaunayCell(Pout, cc1); - drawDelaunayCell(Pout, cc2); +// DelaunayMeshTools::drawDelaunayCell(Pout, cc1); +// DelaunayMeshTools::drawDelaunayCell(Pout, cc2); - FatalErrorIn("Foam::conformalVoronoiMesh::buildDualFace") + WarningIn("Foam::conformalVoronoiMesh::buildDualFace") << "Dual face uses circumcenter defined by a " << "Delaunay tetrahedron with no internal " << "or boundary points. Defining Delaunay edge ends: " << vA->info() << " " << vB->info() << nl - << exit(FatalError); + <<endl;//<< exit(FatalError); } - - label cc1I = cc1->cellIndex(); - label cc2I = cc2->cellIndex(); - - if (cc1I != cc2I) + else { - if (findIndex(verticesOnFace, cc1I) == -1) + label cc1I = cc1->cellIndex(); + label cc2I = cc2->cellIndex(); + + if (cc1I != cc2I) { - nUniqueVertices++; - } + if (findIndex(verticesOnFace, cc1I) == -1) + { + nUniqueVertices++; + } - verticesOnFace.append(cc1I); + verticesOnFace.append(cc1I); + } } cc1++; @@ -838,6 +819,21 @@ Foam::conformalVoronoiMesh::conformalVoronoiMesh allGeometry_, foamyHexMeshDict.subDict("surfaceConformation") ), + decomposition_ + ( + Pstream::parRun() + ? new backgroundMeshDecomposition + ( + runTime_, + rndGen_, + geometryToConformTo_, + foamyHexMeshControls().foamyHexMeshDict().subDict + ( + "backgroundMeshDecomposition" + ) + ) + : NULL + ), cellShapeControl_ ( runTime_, @@ -846,8 +842,7 @@ Foam::conformalVoronoiMesh::conformalVoronoiMesh geometryToConformTo_ ), limitBounds_(), - featureVertices_(), - featurePointLocations_(), + ftPtConformer_(*this), edgeLocationTreePtr_(), surfacePtLocationTreePtr_(), surfaceConformationVertices_(), @@ -856,7 +851,11 @@ Foam::conformalVoronoiMesh::conformalVoronoiMesh initialPointsMethod::New ( foamyHexMeshDict.subDict("initialPoints"), - *this + runTime_, + rndGen_, + geometryToConformTo_, + cellShapeControl_, + decomposition_ ) ), relaxationModel_ @@ -873,8 +872,7 @@ Foam::conformalVoronoiMesh::conformalVoronoiMesh ( foamyHexMeshDict.subDict("motionControl") ) - ), - decomposition_() + ) {} @@ -893,28 +891,11 @@ void Foam::conformalVoronoiMesh::initialiseForMotion() geometryToConformTo_.writeFeatureObj("foamyHexMesh"); } - if (Pstream::parRun()) - { - decomposition_.reset - ( - new backgroundMeshDecomposition - ( - runTime_, - rndGen_, - geometryToConformTo_, - foamyHexMeshControls().foamyHexMeshDict().subDict - ( - "backgroundMeshDecomposition" - ) - ) - ); - } - buildCellSizeAndAlignmentMesh(); insertInitialPoints(); - insertFeaturePoints(); + insertFeaturePoints(true); setVertexSizeAndAlignment(); @@ -953,9 +934,10 @@ void Foam::conformalVoronoiMesh::initialiseForMotion() if (foamyHexMeshControls().objOutput()) { - writePoints + DelaunayMeshTools::writeOBJ ( - "internalPoints_" + runTime_.timeName() + ".obj", + time().path()/"internalPoints_" + time().timeName() + ".obj", + *this, Foam::indexedVertexEnum::vtUnassigned, Foam::indexedVertexEnum::vtExternalFeaturePoint ); @@ -1159,10 +1141,12 @@ void Foam::conformalVoronoiMesh::move() && pointToBeRetained[vB->index()] == true ) { - pointsToInsert.append - ( - toPoint<Point>(0.5*(dVA + dVB)) - ); + const Foam::point pt(0.5*(dVA + dVB)); + + if (internalPointIsInside(pt)) + { + pointsToInsert.append(toPoint(pt)); + } } } @@ -1203,7 +1187,8 @@ void Foam::conformalVoronoiMesh::move() > foamyHexMeshControls().cosAlignmentAcceptanceAngle() ) { - scalar targetCellSize = averageCellSize(vA, vB); + scalar targetCellSize = + CGAL::indexedVertexOps::averageCellSize(vA, vB); scalar targetFaceArea = sqr(targetCellSize); @@ -1292,12 +1277,28 @@ void Foam::conformalVoronoiMesh::move() ) ) { - const Foam::point& newPt = 0.5*(dVA + dVB); + const Foam::point newPt(0.5*(dVA + dVB)); - if (positionOnThisProc(newPt)) + // Prevent insertions spanning surfaces + if (internalPointIsInside(newPt)) { - // Prevent insertions spanning surfaces - pointsToInsert.append(toPoint<Point>(newPt)); + if (Pstream::parRun()) + { + if + ( + decomposition().positionOnThisProcessor + ( + newPt + ) + ) + { + pointsToInsert.append(toPoint(newPt)); + } + } + else + { + pointsToInsert.append(toPoint(newPt)); + } } } } @@ -1333,10 +1334,12 @@ void Foam::conformalVoronoiMesh::move() && pointToBeRetained[vB->index()] == true ) { - pointsToInsert.append - ( - toPoint<Point>(0.5*(dVA + dVB)) - ); + const Foam::point pt(0.5*(dVA + dVB)); + + if (internalPointIsInside(pt)) + { + pointsToInsert.append(toPoint(pt)); + } } } @@ -1431,6 +1434,9 @@ void Foam::conformalVoronoiMesh::move() Info<< "Sum displacements" << endl; + label nPointsToRetain = 0; + label nPointsToRemove = 0; + for ( Delaunay::Finite_vertices_iterator vit = finite_vertices_begin(); @@ -1451,21 +1457,33 @@ void Foam::conformalVoronoiMesh::move() // 14/1/2011. // Only necessary if using an exact constructions kernel // (extended precision) - - pointsToInsert.append + Foam::point pt ( - toPoint<Point> - ( - topoint(vit->point()) - + displacementAccumulator[vit->index()] - ) + topoint(vit->point()) + + displacementAccumulator[vit->index()] ); + + if (internalPointIsInside(pt)) + { + pointsToInsert.append(toPoint(pt)); + nPointsToRemove++; + } + + nPointsToRetain++; } } } pointsToInsert.shrink(); + Info<< returnReduce + ( + nPointsToRetain - nPointsToRemove, + sumOp<label>() + ) + << " internal points are outside the domain. " + << "They will not be inserted." << endl; + // Save displacements to file. if (foamyHexMeshControls().objOutput() && time().outputTime()) { @@ -1500,73 +1518,12 @@ void Foam::conformalVoronoiMesh::move() timeCheck("Displacement calculated"); - Info<< nl << "Inserting displaced tessellation" << endl; + Info<< nl<< "Inserting displaced tessellation" << endl; - reinsertFeaturePoints(true); + insertFeaturePoints(true); insertInternalPoints(pointsToInsert, true); - { - // Remove internal points that have been inserted outside the surface. - label internalPtIsOutside = 0; - - autoPtr<OBJstream> str; - - if (foamyHexMeshControls().objOutput() && time().outputTime()) - { - str.set - ( - new OBJstream(time().path()/"internalPointsOutsideDomain.obj") - ); - } - - DynamicList<Vertex_handle> pointsToRemove; - - for - ( - Delaunay::Finite_vertices_iterator vit = finite_vertices_begin(); - vit != finite_vertices_end(); - ++vit - ) - { - if - ( - (vit->internalPoint() || vit->internalBoundaryPoint()) - //&& !vit->referred() - ) - { - const Foam::point& pt = topoint(vit->point()); - - bool inside = geometryToConformTo_.inside(pt); - - if - ( - !inside - || !geometryToConformTo_.globalBounds().contains(pt) - ) - { - if - ( - foamyHexMeshControls().objOutput() - && time().outputTime() - ) - { - str().write(topoint(vit->point())); - } - - pointsToRemove.append(vit); - internalPtIsOutside++; - } - } - } - - remove(pointsToRemove.begin(), pointsToRemove.end()); - - Info<< " " << returnReduce(internalPtIsOutside, sumOp<label>()) - << " internal points were inserted outside the domain. " - << "They have been removed." << endl; - } - // Fix points that have not been significantly displaced // for // ( @@ -1614,16 +1571,21 @@ void Foam::conformalVoronoiMesh::move() if (foamyHexMeshControls().objOutput()) { - writePoints + DelaunayMeshTools::writeOBJ ( - "internalPoints_" + time().timeName() + ".obj", + time().path()/"internalPoints_" + time().timeName() + ".obj", + *this, Foam::indexedVertexEnum::vtInternal ); - } - if (foamyHexMeshControls().objOutput() && time().outputTime()) - { - writeBoundaryPoints("boundaryPoints_" + time().timeName() + ".obj"); + if (reconformToSurface()) + { + DelaunayMeshTools::writeBoundaryPoints + ( + time().path()/"boundaryPoints_" + time().timeName() + ".obj", + *this + ); + } } timeCheck("After conformToSurface"); @@ -1646,64 +1608,6 @@ void Foam::conformalVoronoiMesh::move() } -bool Foam::conformalVoronoiMesh::positionOnThisProc -( - const Foam::point& pt -) const -{ - if (Pstream::parRun()) - { - return decomposition_().positionOnThisProcessor(pt); - } - - return true; -} - - -Foam::boolList Foam::conformalVoronoiMesh::positionOnThisProc -( - const Foam::List<Foam::point>& pts -) const -{ - if (Pstream::parRun()) - { - return decomposition_().positionOnThisProcessor(pts); - } - - return boolList(pts.size(), true); -} - - -Foam::labelList Foam::conformalVoronoiMesh::positionProc -( - const Foam::List<Foam::point>& pts -) const -{ - if (!Pstream::parRun()) - { - return labelList(pts.size(), -1); - } - - return decomposition_().processorPosition(pts); -} - - -Foam::List<Foam::List<Foam::pointIndexHit> > -Foam::conformalVoronoiMesh::intersectsProc -( - const List<Foam::point>& starts, - const List<Foam::point>& ends -) const -{ - if (!Pstream::parRun()) - { - return List<List<pointIndexHit> >(starts.size()); - } - - return decomposition_().intersectsProcessors(starts, ends, false); -} - - //Foam::labelListList Foam::conformalVoronoiMesh::overlapsProc //( // const List<Foam::point>& centres, @@ -1776,7 +1680,7 @@ void Foam::conformalVoronoiMesh::checkCoPlanarCells() const << " quality = " << quality << nl << " dual = " << topoint(cit->dual()) << endl; - drawDelaunayCell(str, cit, badCells++); + DelaunayMeshTools::drawDelaunayCell(str, cit, badCells++); FixedList<PointExact, 4> cellVerticesExact(PointExact(0,0,0)); forAll(cellVerticesExact, vI) diff --git a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMesh.H b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMesh.H index 777f277d58a1d7c6a89e8a37e8d700470455f4c0..dcaf44f99754f758b63723aa61180e140fe3905e 100644 --- a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMesh.H +++ b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMesh.H @@ -74,9 +74,9 @@ SourceFiles #include "globalIndex.H" #include "pointFeatureEdgesTypes.H" #include "pointConversion.H" -#include "Tuple2.H" +#include "Pair.H" #include "DistributedDelaunayMesh.H" -#include "tensorIOField.H" +#include "featurePointConformer.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -103,12 +103,6 @@ class conformalVoronoiMesh { public: - enum reconformationMode - { - rmOff, // Do not rebuild the surface conformation - rmOn - }; - typedef Delaunay::Vertex_handle Vertex_handle; typedef Delaunay::Cell_handle Cell_handle; typedef Delaunay::Edge Edge; @@ -126,8 +120,6 @@ private: // Static data - static const scalar tolParallel; - static const scalar searchConeAngle; static const scalar searchAngleOppositeSurface; @@ -151,19 +143,17 @@ private: //- The surfaces to conform to conformationSurfaces geometryToConformTo_; + //- Background mesh decomposition, only available in parallel. + autoPtr<backgroundMeshDecomposition> decomposition_; + //- The cell shape control object cellShapeControl cellShapeControl_; //- Limiting bound box before infinity begins treeBoundBox limitBounds_; - //- Store the feature constraining points to be reinserted after a - // triangulation clear. Maintained with relative types and indices. - List<Vb> featureVertices_; - - //- Storing the locations of all of the features to be conformed to. - // Single pointField required by the featurePointTree. - pointField featurePointLocations_; + //- + featurePointConformer ftPtConformer_; //- Search tree for edge point locations mutable autoPtr<dynamicIndexedOctree<dynamicTreeDataPoint> > @@ -190,9 +180,6 @@ private: //- Face area weight function. Runtime selectable. autoPtr<faceAreaWeightModel> faceAreaWeightModel_; - //- Background mesh decomposition, only available in parallel. - autoPtr<backgroundMeshDecomposition> decomposition_; - // Private Member Functions @@ -203,14 +190,6 @@ private: // to be on a surface. inline scalar targetCellSize(const Foam::point& pt) const; - //- Return the target cell size from that stored on a pair of - // Delaunay vertices, using a mean function. - inline scalar averageCellSize - ( - const Vertex_handle& vA, - const Vertex_handle& vB - ) const; - //- Return the target cell size from that stored on a pair of // Delaunay vertices, including the possibility that one of // them is not an internalOrBoundaryPoint, and so will not @@ -228,36 +207,6 @@ private: const Delaunay::Finite_facets_iterator& fit ) const; - //- Return the local point pair separation at the given location - inline scalar pointPairDistance(const Foam::point& pt) const; - - //- Return the local mixed feature point placement distance - inline scalar mixedFeaturePointDistance(const Foam::point& pt) const; - - //- Return the square of the local feature point exclusion distance - inline scalar featurePointExclusionDistanceSqr - ( - const Foam::point& pt - ) const; - - //- Return the square of the local feature edge exclusion distance - inline scalar featureEdgeExclusionDistanceSqr - ( - const Foam::point& pt - ) const; - - //- Return the square of the local surface point exclusion distance - inline scalar surfacePtExclusionDistanceSqr - ( - const Foam::point& pt - ) const; - - //- Return the square of the local surface search distance - inline scalar surfaceSearchDistanceSqr(const Foam::point& pt) const; - - //- Return the local maximum surface protrusion distance - inline scalar maxSurfaceProtrusion(const Foam::point& pt) const; - //- Insert Delaunay vertices using the CGAL range insertion method, // optionally check processor occupancy and distribute to other // processors @@ -281,7 +230,7 @@ private: const Foam::point& surfPt, const vector& n, DynamicList<Vb>& pts - ); + ) const; inline Foam::point perturbPoint(const Foam::point& pt) const; @@ -293,7 +242,10 @@ private: const Foam::point& surfPt, const vector& n, DynamicList<Vb>& pts - ); + ) const; + + //- Check internal point is completely inside the meshable region + inline bool internalPointIsInside(const Foam::point& pt) const; inline bool isPointPair ( @@ -318,20 +270,12 @@ private: const fileName fName = fileName::null ); - //- Call the appropriate function to conform to an edge - void createEdgePointGroup - ( - const extendedFeatureEdgeMesh& feMesh, - const pointIndexHit& edHit, - DynamicList<Vb>& pts - ); - void createEdgePointGroupByCirculating ( const extendedFeatureEdgeMesh& feMesh, const pointIndexHit& edHit, DynamicList<Vb>& pts - ); + ) const; bool meshableRegion ( @@ -354,7 +298,7 @@ private: const extendedFeatureEdgeMesh& feMesh, const pointIndexHit& edHit, DynamicList<Vb>& pts - ); + ) const; //- Create points to conform to an internal edge void createInternalEdgePointGroup @@ -362,7 +306,7 @@ private: const extendedFeatureEdgeMesh& feMesh, const pointIndexHit& edHit, DynamicList<Vb>& pts - ); + ) const; //- Create points to conform to a flat edge void createFlatEdgePointGroup @@ -370,7 +314,7 @@ private: const extendedFeatureEdgeMesh& feMesh, const pointIndexHit& edHit, DynamicList<Vb>& pts - ); + ) const; //- Create points to conform to an open edge void createOpenEdgePointGroup @@ -378,7 +322,7 @@ private: const extendedFeatureEdgeMesh& feMesh, const pointIndexHit& edHit, DynamicList<Vb>& pts - ); + ) const; //- Create points to conform to multiply connected edge void createMultipleEdgePointGroup @@ -386,85 +330,10 @@ private: const extendedFeatureEdgeMesh& feMesh, const pointIndexHit& edHit, DynamicList<Vb>& pts - ); - - //- Determine and insert point groups at the feature points - void insertFeaturePoints(); - - //- Create point groups at mixed feature points - void createMixedFeaturePoints(DynamicList<Vb>& pts); - - void addMasterAndSlavePoints - ( - const DynamicList<Foam::point>& masterPoints, - const DynamicList<indexedVertexEnum::vertexType>&masterPointsTypes, - const Map<DynamicList<autoPtr<plane> > >& masterPointReflections, - DynamicList<Vb>& pts, - const label ptI - ) const; - - label getSign(const extendedFeatureEdgeMesh::edgeStatus eStatus) const; - - void createMasterAndSlavePoints - ( - const extendedFeatureEdgeMesh& feMesh, - const label ptI, - DynamicList<Vb>& pts - ) const; - - void createFeaturePoints(DynamicList<Vb>& pts); - - vector sharedFaceNormal - ( - const extendedFeatureEdgeMesh& feMesh, - const label edgeI, - const label nextEdgeI - ) const; - - List<Foam::point> reflectPointInPlanes - ( - const Foam::point p, - const DynamicList<autoPtr<plane> >& planes - ) const; - - Foam::point reflectPointInPlane - ( - const Foam::point p, - const plane& planeN - ) const; - - - //- Fill the pointFeatureEdgesType struct with the types of feature - // edges that are attached to the point. - List<extendedFeatureEdgeMesh::edgeStatus> calcPointFeatureEdgesTypes - ( - const extendedFeatureEdgeMesh& feMesh, - const labelList& pEds, - pointFeatureEdgesTypes& pFEdgeTypes - ) const; - - //- Create feature point groups if a specialisation exists for the - // structure - bool createSpecialisedFeaturePoint - ( - const extendedFeatureEdgeMesh& feMesh, - const labelList& pEds, - const pointFeatureEdgesTypes& pFEdgeTypes, - const List<extendedFeatureEdgeMesh::edgeStatus>& allEdStat, - const label ptI, - DynamicList<Vb>& pts - ); - - //- Store the locations of all of the features to be conformed to - void constructFeaturePointLocations(); - - List<pointIndexHit> findSurfacePtLocationsNearFeaturePoint - ( - const Foam::point& featurePoint ) const; - //- Reinsert stored feature point defining points - void reinsertFeaturePoints(bool distribute = false); + //- Determine and insert point groups at the feature points + void insertFeaturePoints(bool distribute = false); //- Check if a location is in exclusion range around a feature point bool nearFeaturePt(const Foam::point& pt) const; @@ -473,10 +342,6 @@ private: // initialPointsMethod void insertInitialPoints(); - //- Calculate the worst load balance - template<class Triangulation> - scalar calculateLoadUnbalance(const Triangulation& mesh) const; - //- In parallel redistribute the backgroundMeshDecomposition and // vertices to balance the number of vertices on each processor. // Returns true if the background mesh changes as this removes all @@ -534,7 +399,7 @@ private: //- Decision making function for when to rebuild the surface // conformation - reconformationMode reconformationControl() const; + bool reconformToSurface() const; //- Determines geometrically whether a vertex is close to a surface // This is an optimisation @@ -850,9 +715,6 @@ private: //- Create the cell centres to use for the mesh void createCellCentres(pointField& cellCentres) const; - //- Extract all points in vertex-index order - tmp<pointField> allPoints() const; - //- Sort the faces, owner and neighbour lists into // upper-triangular order. For internal faces only, use // before adding patch faces @@ -974,22 +836,6 @@ public: // surface as required void move(); - //- Check if the point is in the domain handled by this processor - bool positionOnThisProc(const Foam::point& pt) const; - - //- Check if the point is in the domain handled by this processor - boolList positionOnThisProc(const Foam::List<Foam::point>& pts) const; - - //- Which processor's domain handles this point - labelList positionProc(const Foam::List<Foam::point>& pts) const; - - //- Which other processors does each line segment intersect - List<List<pointIndexHit> > intersectsProc - ( - const List<Foam::point>& starts, - const List<Foam::point>& ends - ) const; - // //- Which other processors does each sphere overlap // labelListList overlapsProc // ( @@ -1022,68 +868,65 @@ public: inline const cvControls& foamyHexMeshControls() const; - // Write + // Query - //- Write the elapsedCpuTime and memory usage, with an optional - // description - static void timeCheck - ( - const Time& runTime, - const string& description = string::null, - const bool check = true - ); + //- Return the local point pair separation at the given location + inline scalar pointPairDistance(const Foam::point& pt) const; - void timeCheck + //- Return the local mixed feature point placement distance + inline scalar mixedFeaturePointDistance ( - const string& description = string::null + const Foam::point& pt ) const; - //- Write the Delaunay cell - void drawDelaunayCell + //- Return the square of the local feature point exclusion distance + inline scalar featurePointExclusionDistanceSqr ( - Ostream& os, - const Cell_handle& c, - label offset = 0 + const Foam::point& pt ) const; - //- Write Delaunay points in the range between (and including) - // type startPointType and endPointType to .obj file - void writePoints + //- Return the square of the local feature edge exclusion distance + inline scalar featureEdgeExclusionDistanceSqr ( - const fileName& fName, - const Foam::indexedVertexEnum::vertexType startPointType, - const Foam::indexedVertexEnum::vertexType endPointType + const Foam::point& pt ) const; - //- Write Delaunay points of type pointType to .obj file - void writePoints + //- Return the square of the local surface point exclusion distance + inline scalar surfacePtExclusionDistanceSqr ( - const fileName& fName, - const Foam::indexedVertexEnum::vertexType pointType + const Foam::point& pt ) const; - void writeFixedPoints(const fileName& fName) const; + //- Return the square of the local surface search distance + inline scalar surfaceSearchDistanceSqr(const Foam::point& pt) const; - //- Write the boundary Delaunay points to .obj file - void writeBoundaryPoints(const fileName& fName) const; + //- Return the local maximum surface protrusion distance + inline scalar maxSurfaceProtrusion(const Foam::point& pt) const; - //- Write list of points to file - void writePoints + //- Call the appropriate function to conform to an edge + void createEdgePointGroup ( - const fileName& fName, - const List<Foam::point>& points + const extendedFeatureEdgeMesh& feMesh, + const pointIndexHit& edHit, + DynamicList<Vb>& pts ) const; - //- Write list of points to file - void writePoints + + // Write + + //- Write the elapsedCpuTime and memory usage, with an optional + // description + static void timeCheck ( - const fileName& fName, - const List<Vb>& points - ) const; + const Time& runTime, + const string& description = string::null, + const bool check = true + ); - //- Write the internal Delaunay vertices of the tessellation as a - // pointField that may be used to restart the meshing process - void writeInternalDelaunayVertices(const fileName& instance) const; + void timeCheck + ( + const string& description = string::null + ) const; //- Prepare data and call writeMesh for polyMesh and // tetDualMesh @@ -1105,14 +948,6 @@ public: const PackedBoolList& boundaryFacesToRemove ) const; - //- Write points and faces as .obj file - void writeObjMesh - ( - const pointField& points, - const faceList& faces, - const fileName& fName - ) const; - //- Calculate and write a field of the target cell size, // target cell volume, actual cell volume and equivalent // actual cell size (cbrt(actual cell volume)). @@ -1126,12 +961,6 @@ public: //- Find the cellSet of the boundary cells which have points that // protrude out of the surface beyond a tolerance. labelHashSet findRemainingProtrusionSet(const polyMesh& mesh) const; - - void writeProcessorInterface - ( - const fileName& fName, - const faceList& faces - ) const; }; diff --git a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMeshCalcDualMesh.C b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMeshCalcDualMesh.C index 5a45b8ab4f7f0ed22a8b821f1d29b108cfd82338..86892c28d940c822f80756da75be935159891ce8 100644 --- a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMeshCalcDualMesh.C +++ b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMeshCalcDualMesh.C @@ -29,6 +29,8 @@ License #include "polyMeshGeometry.H" #include "indexedCellChecks.H" #include "OBJstream.H" +#include "indexedCellOps.H" +#include "DelaunayMeshTools.H" #include "CGAL/Exact_predicates_exact_constructions_kernel.h" #include "CGAL/Gmpq.h" @@ -598,7 +600,7 @@ void Foam::conformalVoronoiMesh::calcDualMesh // deferredCollapseFaceSet(owner, neighbour, deferredCollapseFaces); - cellCentres = allPoints(); + cellCentres = DelaunayMeshTools::allPoints(*this); cellToDelaunayVertex = removeUnusedCells(owner, neighbour); @@ -1227,7 +1229,7 @@ Foam::conformalVoronoiMesh::createPolyMeshFromPoints ); //createCellCentres(cellCentres); - cellCentres = allPoints(); + cellCentres = DelaunayMeshTools::allPoints(*this); labelList cellToDelaunayVertex(removeUnusedCells(owner, neighbour)); cellCentres = pointField(cellCentres, cellToDelaunayVertex); @@ -2443,7 +2445,7 @@ void Foam::conformalVoronoiMesh::createFacesOwnerNeighbourAndPatches && vc2->neighbor(cI)->hasConstrainedPoint() ) { - drawDelaunayCell + DelaunayMeshTools::drawDelaunayCell ( cellStr, vc2->neighbor(cI), @@ -2837,7 +2839,12 @@ void Foam::conformalVoronoiMesh::createFacesOwnerNeighbourAndPatches + name(neighbour) + "_interface.obj"; - writeProcessorInterface(fName, procPatchFaces); + DelaunayMeshTools::writeProcessorInterface + ( + time().path()/fName, + *this, + procPatchFaces + ); } } } @@ -2871,30 +2878,6 @@ void Foam::conformalVoronoiMesh::createCellCentres } -Foam::tmp<Foam::pointField> Foam::conformalVoronoiMesh::allPoints() const -{ - tmp<pointField> tpts(new pointField(number_of_vertices(), point::max)); - pointField& pts = tpts(); - - label nVert = 0; - - for - ( - Delaunay::Finite_vertices_iterator vit = finite_vertices_begin(); - vit != finite_vertices_end(); - ++vit - ) - { - if (vit->internalOrBoundaryPoint()) - { - pts[nVert++] = topoint(vit->point()); - } - } - - return tpts; -} - - void Foam::conformalVoronoiMesh::sortFaces ( faceList& faces, diff --git a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMeshConformToSurface.C b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMeshConformToSurface.C index 43feda36545c50ef926888cef64020a36a44df96..db77f62f5f4177045837a6901ec536743acb3d03 100644 --- a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMeshConformToSurface.C +++ b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMeshConformToSurface.C @@ -55,7 +55,7 @@ void Foam::conformalVoronoiMesh::conformToSurface() cit->cellIndex() = Cb::ctUnassigned; } - if (reconformationControl() == rmOff) + if (!reconformToSurface()) { // Reinsert stored surface conformation reinsertSurfaceConformation(); @@ -87,8 +87,7 @@ void Foam::conformalVoronoiMesh::conformToSurface() } -Foam::conformalVoronoiMesh::reconformationMode -Foam::conformalVoronoiMesh::reconformationControl() const +bool Foam::conformalVoronoiMesh::reconformToSurface() const { if ( @@ -96,10 +95,10 @@ Foam::conformalVoronoiMesh::reconformationControl() const % foamyHexMeshControls().surfaceConformationRebuildFrequency() == 0 ) { - return rmOn; + return true; } - return rmOff; + return false; } @@ -220,19 +219,9 @@ void Foam::conformalVoronoiMesh::buildSurfaceConformation() { timeCheck("Start buildSurfaceConformation"); - if (reconformationControl() == rmOff) - { - WarningIn("buildSurfaceConformation()") - << "reconformationMode rmNone specified, not building conformation" - << endl; - - return; - } - else - { - Info<< nl << "Rebuilding surface conformation for more iterations" - << endl; - } + Info<< nl + << "Rebuilding surface conformation for more iterations" + << endl; existingEdgeLocations_.clearStorage(); existingSurfacePtLocations_.clearStorage(); @@ -1297,14 +1286,24 @@ void Foam::conformalVoronoiMesh::dualCellLargestSurfaceProtrusion if ( is_infinite(c1) || is_infinite(c2) - || !c1->hasInternalPoint() || !c2->hasInternalPoint() + || (!c1->hasInternalPoint() && !c2->hasInternalPoint()) || !c1->real() || !c2->real() ) { continue; } - Foam::point edgeMid = 0.5*(c1->dual() + c2->dual()); +// Foam::point endPt = 0.5*(c1->dual() + c2->dual()); + Foam::point endPt = c1->dual(); + + if + ( + magSqr(vert - c1->dual()) + < magSqr(vert - c2->dual()) + ) + { + endPt = c2->dual(); + } pointIndexHit surfHit; label hitSurface; @@ -1312,7 +1311,7 @@ void Foam::conformalVoronoiMesh::dualCellLargestSurfaceProtrusion geometryToConformTo_.findSurfaceAnyIntersection ( vert, - edgeMid, + endPt, surfHit, hitSurface ); @@ -1330,7 +1329,7 @@ void Foam::conformalVoronoiMesh::dualCellLargestSurfaceProtrusion const vector& n = norm[0]; const scalar normalProtrusionDistance = - (edgeMid - surfHit.hitPoint()) & n; + (endPt - surfHit.hitPoint()) & n; if (normalProtrusionDistance > maxProtrusionDistance) { @@ -1347,7 +1346,10 @@ void Foam::conformalVoronoiMesh::dualCellLargestSurfaceProtrusion if ( surfHitLargest.hit() - && !positionOnThisProc(surfHitLargest.hitPoint()) + && ( + Pstream::parRun() + && !decomposition().positionOnThisProcessor(surfHitLargest.hitPoint()) + ) ) { // A protrusion was identified, but not penetrating on this processor, @@ -1390,14 +1392,24 @@ void Foam::conformalVoronoiMesh::dualCellLargestSurfaceIncursion if ( is_infinite(c1) || is_infinite(c2) - || !c1->hasInternalPoint() || !c2->hasInternalPoint() + || (!c1->hasInternalPoint() && !c2->hasInternalPoint()) || !c1->real() || !c2->real() ) { continue; } - Foam::point edgeMid = 0.5*(c1->dual() + c2->dual()); +// Foam::point endPt = 0.5*(c1->dual() + c2->dual()); + Foam::point endPt = c1->dual(); + + if + ( + magSqr(vert - c1->dual()) + < magSqr(vert - c2->dual()) + ) + { + endPt = c2->dual(); + } pointIndexHit surfHit; label hitSurface; @@ -1405,7 +1417,7 @@ void Foam::conformalVoronoiMesh::dualCellLargestSurfaceIncursion geometryToConformTo_.findSurfaceAnyIntersection ( vert, - edgeMid, + endPt, surfHit, hitSurface ); @@ -1422,8 +1434,7 @@ void Foam::conformalVoronoiMesh::dualCellLargestSurfaceIncursion const vector& n = norm[0]; - scalar normalIncursionDistance = - (edgeMid - surfHit.hitPoint()) & n; + scalar normalIncursionDistance = (endPt - surfHit.hitPoint()) & n; if (normalIncursionDistance < minIncursionDistance) { @@ -1445,7 +1456,10 @@ void Foam::conformalVoronoiMesh::dualCellLargestSurfaceIncursion if ( surfHitLargest.hit() - && !positionOnThisProc(surfHitLargest.hitPoint()) + && ( + Pstream::parRun() + && !decomposition().positionOnThisProcessor(surfHitLargest.hitPoint()) + ) ) { // A protrusion was identified, but not penetrating on this processor, @@ -1468,7 +1482,11 @@ void Foam::conformalVoronoiMesh::reportProcessorOccupancy() { if (vit->real()) { - if (!positionOnThisProc(topoint(vit->point()))) + if + ( + Pstream::parRun() + && !decomposition().positionOnThisProcessor(topoint(vit->point())) + ) { Pout<< topoint(vit->point()) << " is not on this processor " << endl; diff --git a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMeshFeaturePoints.C b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMeshFeaturePoints.C index ac17397ad231c90b81ea1dff459fad60a686ac16..980064fb48c6e01047a08d9e38bafecd934d3d67 100644 --- a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMeshFeaturePoints.C +++ b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMeshFeaturePoints.C @@ -28,6 +28,7 @@ License #include "triangle.H" #include "tetrahedron.H" #include "const_circulator.H" +#include "DelaunayMeshTools.H" using namespace Foam::vectorTools; @@ -38,7 +39,7 @@ void Foam::conformalVoronoiMesh::createEdgePointGroup const extendedFeatureEdgeMesh& feMesh, const pointIndexHit& edHit, DynamicList<Vb>& pts -) +) const { if (foamyHexMeshControls().circulateEdges()) { @@ -164,7 +165,7 @@ void Foam::conformalVoronoiMesh::createEdgePointGroupByCirculating const extendedFeatureEdgeMesh& feMesh, const pointIndexHit& edHit, DynamicList<Vb>& pts -) +) const { typedef Foam::indexedVertexEnum::vertexType vertexType; typedef extendedFeatureEdgeMesh::sideVolumeType sideVolumeType; @@ -413,6 +414,7 @@ void Foam::conformalVoronoiMesh::createEdgePointGroupByCirculating // Remove the first reflection plane if we are no longer // circulating + masterPointReflectionsPrev.erase(initialRegion); masterPointReflectionsNext.erase(circ.nRotations()); } @@ -480,7 +482,7 @@ void Foam::conformalVoronoiMesh::createExternalEdgePointGroup const extendedFeatureEdgeMesh& feMesh, const pointIndexHit& edHit, DynamicList<Vb>& pts -) +) const { const Foam::point& edgePt = edHit.hitPoint(); @@ -581,7 +583,7 @@ void Foam::conformalVoronoiMesh::createInternalEdgePointGroup const extendedFeatureEdgeMesh& feMesh, const pointIndexHit& edHit, DynamicList<Vb>& pts -) +) const { const Foam::point& edgePt = edHit.hitPoint(); @@ -757,7 +759,7 @@ void Foam::conformalVoronoiMesh::createFlatEdgePointGroup const extendedFeatureEdgeMesh& feMesh, const pointIndexHit& edHit, DynamicList<Vb>& pts -) +) const { const Foam::point& edgePt = edHit.hitPoint(); @@ -789,7 +791,7 @@ void Foam::conformalVoronoiMesh::createOpenEdgePointGroup const extendedFeatureEdgeMesh& feMesh, const pointIndexHit& edHit, DynamicList<Vb>& pts -) +) const { // Assume it is a baffle and insert flat edge point pairs const Foam::point& edgePt = edHit.hitPoint(); @@ -836,7 +838,7 @@ void Foam::conformalVoronoiMesh::createMultipleEdgePointGroup const extendedFeatureEdgeMesh& feMesh, const pointIndexHit& edHit, DynamicList<Vb>& pts -) +) const { // Info<< "NOT INSERTING MULTIPLE EDGE POINT GROUP, NOT IMPLEMENTED" << endl; @@ -867,618 +869,27 @@ void Foam::conformalVoronoiMesh::createMultipleEdgePointGroup } -void Foam::conformalVoronoiMesh::reinsertFeaturePoints(bool distribute) +void Foam::conformalVoronoiMesh::insertFeaturePoints(bool distribute) { - Info<< nl << "Reinserting stored feature points" << endl; - - insertPoints(featureVertices_, distribute); -} + Info<< nl + << "Inserting feature points" << endl; + const label preFeaturePointSize(number_of_vertices()); -void Foam::conformalVoronoiMesh::createMixedFeaturePoints -( - DynamicList<Vb>& pts -) -{ - if (foamyHexMeshControls().mixedFeaturePointPPDistanceCoeff() < 0) + if (Pstream::parRun() && distribute) { - Info<< nl << "Skipping specialised handling for mixed feature points" - << endl; - return; + ftPtConformer_.distribute(decomposition()); } - const PtrList<extendedFeatureEdgeMesh>& feMeshes - ( - geometryToConformTo_.features() - ); - - forAll(feMeshes, i) - { - const extendedFeatureEdgeMesh& feMesh = feMeshes[i]; - const labelListList& pointsEdges = feMesh.pointEdges(); - const pointField& points = feMesh.points(); - - for - ( - label ptI = feMesh.mixedStart(); - ptI < feMesh.nonFeatureStart(); - ptI++ - ) - { - const Foam::point& featPt = points[ptI]; - - if (!positionOnThisProc(featPt)) - { - continue; - } - - const labelList& pEds = pointsEdges[ptI]; - - pointFeatureEdgesTypes pFEdgeTypes(ptI); - - const List<extendedFeatureEdgeMesh::edgeStatus> allEdStat - = calcPointFeatureEdgesTypes(feMesh, pEds, pFEdgeTypes); - - bool specialisedSuccess = false; - - if (foamyHexMeshControls().specialiseFeaturePoints()) - { - specialisedSuccess = createSpecialisedFeaturePoint - ( - feMesh, pEds, pFEdgeTypes, allEdStat, ptI, pts - ); - } - - if (!specialisedSuccess && foamyHexMeshControls().edgeAiming()) - { - // Specialisations available for some mixed feature points. For - // non-specialised feature points, inserting mixed internal and - // external edge groups at feature point. - - // Skipping unsupported mixed feature point types -// bool skipEdge = false; -// -// forAll(pEds, e) -// { -// const label edgeI = pEds[e]; -// -// const extendedFeatureEdgeMesh::edgeStatus edStatus -// = feMesh.getEdgeStatus(edgeI); -// -// if -// ( -// edStatus == extendedFeatureEdgeMesh::OPEN -// || edStatus == extendedFeatureEdgeMesh::MULTIPLE -// ) -// { -// Info<< "Edge type " << edStatus -// << " found for mixed feature point " << ptI -// << ". Not supported." -// << endl; -// -// skipEdge = true; -// } -// } -// -// if (skipEdge) -// { -// Info<< "Skipping point " << ptI << nl << endl; -// -// continue; -// } - -// createFeaturePoints(feMesh, ptI, pts, types); - - const Foam::point pt = points[ptI]; - - const scalar edgeGroupDistance = mixedFeaturePointDistance(pt); + const List<Vb>& ftPtVertices = ftPtConformer_.featurePointVertices(); - forAll(pEds, e) - { - const label edgeI = pEds[e]; - - const Foam::point edgePt = - pt + edgeGroupDistance*feMesh.edgeDirection(edgeI, ptI); - - const pointIndexHit edgeHit(true, edgePt, edgeI); - - createEdgePointGroup(feMesh, edgeHit, pts); - } - } - } - } -} -// -// -//void Foam::conformalVoronoiMesh::createFeaturePoints -//( -// DynamicList<Foam::point>& pts, -// DynamicList<label>& indices, -// DynamicList<label>& types -//) -//{ -// const PtrList<extendedFeatureEdgeMesh>& feMeshes -// ( -// geometryToConformTo_.features() -// ); -// -// forAll(feMeshes, i) -// { -// const extendedFeatureEdgeMesh& feMesh(feMeshes[i]); -// -// for -// ( -// label ptI = feMesh.convexStart(); -// ptI < feMesh.mixedStart(); -// ++ptI -// ) -// { -// const Foam::point& featPt = feMesh.points()[ptI]; -// -// if (!positionOnThisProc(featPt)) -// { -// continue; -// } -// -// const scalar searchRadiusSqr = 5.0*targetCellSize(featPt); -// -// labelList indices = surfacePtLocationTreePtr_().findSphere -// ( -// featPt, -// searchRadiusSqr -// ); -// -// pointField nearestSurfacePoints(indices.size()); -// -// forAll(indices, pI) -// { -// nearestSurfacePoints[pI] = -// surfaceConformationVertices_[indices[pI]]; -// } -// -// forAll(feMesh.) -// -// // Now find the nearest points within the edge cones. -// -// // Calculate preliminary surface point locations -// -// -// } -// } -//} - - -void Foam::conformalVoronoiMesh::insertFeaturePoints() -{ - Info<< nl << "Conforming to feature points" << endl; - - Info<< " Circulating edges is: " - << foamyHexMeshControls().circulateEdges().asText() << nl - << " Guarding feature points is: " - << foamyHexMeshControls().guardFeaturePoints().asText() << nl - << " Snapping to feature points is: " - << foamyHexMeshControls().snapFeaturePoints().asText() << nl - << " Specialising feature points is: " - << foamyHexMeshControls().specialiseFeaturePoints().asText() << endl; - - - DynamicList<Vb> pts; - - const label preFeaturePointSize = number_of_vertices(); - - createFeaturePoints(pts); - - createMixedFeaturePoints(pts); - - // Points added using the createEdgePointGroup function will be labelled as - // internal/external feature edges. Relabel them as feature points, - // otherwise they are inserted as both feature points and surface points. - forAll(pts, pI) - { - Vb& pt = pts[pI]; - - //if (pt.featureEdgePoint()) - { - if (pt.internalBoundaryPoint()) - { - pt.type() = Vb::vtInternalFeaturePoint; - } - else if (pt.externalBoundaryPoint()) - { - pt.type() = Vb::vtExternalFeaturePoint; - } - } - } - - // Insert the created points, distributing to the appropriate processor - insertPoints(pts, true); - - if (foamyHexMeshControls().objOutput()) - { - writePoints("featureVertices.obj", pts); - } + // Insert the created points directly as already distributed. + this->DelaunayMesh<Delaunay>::insertPoints(ftPtVertices); label nFeatureVertices = number_of_vertices() - preFeaturePointSize; reduce(nFeatureVertices, sumOp<label>()); Info<< " Inserted " << nFeatureVertices << " feature vertices" << endl; - - featureVertices_.clear(); - featureVertices_.setSize(pts.size()); - - forAll(pts, pI) - { - featureVertices_[pI] = pts[pI]; - } - - constructFeaturePointLocations(); -} - - -void Foam::conformalVoronoiMesh::constructFeaturePointLocations() -{ - DynamicList<Foam::point> ftPtLocs; - - const PtrList<extendedFeatureEdgeMesh>& feMeshes - ( - geometryToConformTo_.features() - ); - - forAll(feMeshes, i) - { - const extendedFeatureEdgeMesh& feMesh(feMeshes[i]); - - if (foamyHexMeshControls().mixedFeaturePointPPDistanceCoeff() < 0) - { - // Ignoring mixed feature points - for - ( - label ptI = feMesh.convexStart(); - ptI < feMesh.mixedStart(); - ptI++ - ) - { - ftPtLocs.append(feMesh.points()[ptI]); - } - } - else - { - for - ( - label ptI = feMesh.convexStart(); - ptI < feMesh.nonFeatureStart(); - ptI++ - ) - { - ftPtLocs.append(feMesh.points()[ptI]); - } - } - } - - featurePointLocations_.transfer(ftPtLocs); -} - - -Foam::List<Foam::pointIndexHit> -Foam::conformalVoronoiMesh::findSurfacePtLocationsNearFeaturePoint -( - const Foam::point& featurePoint -) const -{ - DynamicList<pointIndexHit> dynPointList; - - const scalar searchRadiusSqr = 3*targetCellSize(featurePoint); - - labelList surfacePtList = surfacePtLocationTreePtr_().findSphere - ( - featurePoint, - searchRadiusSqr - ); - - forAll(surfacePtList, elemI) - { - label index = surfacePtList[elemI]; - - const Foam::point& p - = surfacePtLocationTreePtr_().shapes().shapePoints()[index]; - - pointIndexHit nearHit(true, p, index); - - dynPointList.append(nearHit); - } - - return dynPointList.shrink(); -} - - -void Foam::conformalVoronoiMesh::addMasterAndSlavePoints -( - const DynamicList<Foam::point>& masterPoints, - const DynamicList<Foam::indexedVertexEnum::vertexType>& masterPointsTypes, - const Map<DynamicList<autoPtr<plane> > >& masterPointReflections, - DynamicList<Vb>& pts, - const label ptI -) const -{ - typedef DynamicList<autoPtr<plane> > planeDynList; - typedef Foam::indexedVertexEnum::vertexType vertexType; - - forAll(masterPoints, pI) - { - // Append master to the list of points - - const Foam::point& masterPt = masterPoints[pI]; - const vertexType masterType = masterPointsTypes[pI]; - -// Info<< " Master = " << masterPt << endl; - - pts.append - ( - Vb - ( - masterPt, - vertexCount() + pts.size(), - masterType, - Pstream::myProcNo() - ) - ); - -// const label masterIndex = pts[pts.size() - 1].index(); - - //meshTools::writeOBJ(strMasters, masterPt); - - const planeDynList& masterPointPlanes = masterPointReflections[pI]; - - forAll(masterPointPlanes, planeI) - { - // Reflect master points in the planes and insert the slave points - - const plane& reflPlane = masterPointPlanes[planeI](); - - const Foam::point slavePt = reflPlane.mirror(masterPt); - -// Info<< " Slave " << planeI << " = " << slavePt << endl; - - const vertexType slaveType = - ( - masterType == Vb::vtInternalFeaturePoint - ? Vb::vtExternalFeaturePoint // true - : Vb::vtInternalFeaturePoint // false - ); - - pts.append - ( - Vb - ( - slavePt, - vertexCount() + pts.size(), - slaveType, - Pstream::myProcNo() - ) - ); - - - //meshTools::writeOBJ(strSlaves, slavePt); - } - } -} - - -Foam::label Foam::conformalVoronoiMesh::getSign -( - const extendedFeatureEdgeMesh::edgeStatus eStatus -) const -{ - if (eStatus == extendedFeatureEdgeMesh::EXTERNAL) - { - return -1; - } - else if (eStatus == extendedFeatureEdgeMesh::INTERNAL) - { - return 1; - } - - return 0; -} - - -void Foam::conformalVoronoiMesh::createMasterAndSlavePoints -( - const extendedFeatureEdgeMesh& feMesh, - const label ptI, - DynamicList<Vb>& pts -) const -{ - typedef DynamicList<autoPtr<plane> > planeDynList; - typedef Foam::indexedVertexEnum::vertexType vertexType; - typedef Foam::extendedFeatureEdgeMesh::edgeStatus edgeStatus; - - const Foam::point& featPt = feMesh.points()[ptI]; - - if (!positionOnThisProc(featPt) || geometryToConformTo_.outside(featPt)) - { - return; - } - - const scalar ppDist = pointPairDistance(featPt); - - // Maintain a list of master points and the planes to relect them in - DynamicList<Foam::point> masterPoints; - DynamicList<vertexType> masterPointsTypes; - Map<planeDynList> masterPointReflections; - - const labelList& featPtEdges = feMesh.featurePointEdges()[ptI]; - - pointFeatureEdgesTypes pointEdgeTypes(ptI); - - const List<extendedFeatureEdgeMesh::edgeStatus> allEdStat - = calcPointFeatureEdgesTypes(feMesh, featPtEdges, pointEdgeTypes); - -// Info<< nl << featPt << " " << pointEdgeTypes; - - const_circulator<labelList> circ(featPtEdges); - - // Loop around the edges of the feature point - if (circ.size()) do - { -// const edgeStatus eStatusPrev = feMesh.getEdgeStatus(circ.prev()); - const edgeStatus eStatusCurr = feMesh.getEdgeStatus(circ()); -// const edgeStatus eStatusNext = feMesh.getEdgeStatus(circ.next()); - -// Info<< " Prev = " -// << extendedFeatureEdgeMesh::edgeStatusNames_[eStatusPrev] -// << " Curr = " -// << extendedFeatureEdgeMesh::edgeStatusNames_[eStatusCurr] -//// << " Next = " -//// << extendedFeatureEdgeMesh::edgeStatusNames_[eStatusNext] -// << endl; - - // Get the direction in which to move the point in relation to the - // feature point - label sign = getSign(eStatusCurr); - - const vector n = sharedFaceNormal(feMesh, circ(), circ.next()); - - const vector pointMotionDirection = sign*0.5*ppDist*n; - -// Info<< " Shared face normal = " << n << endl; -// Info<< " Direction to move point = " << pointMotionDirection -// << endl; - - if (masterPoints.empty()) - { - // Initialise with the first master point - Foam::point pt = featPt + pointMotionDirection; - - planeDynList firstPlane; - firstPlane.append(autoPtr<plane>(new plane(featPt, n))); - - masterPoints.append(pt); - - masterPointsTypes.append - ( - sign == 1 - ? Vb::vtExternalFeaturePoint // true - : Vb::vtInternalFeaturePoint // false - ); - - //Info<< " " << " " << firstPlane << endl; - -// const Foam::point reflectedPoint = reflectPointInPlane -// ( -// masterPoints.last(), -// firstPlane.last()() -// ); - - masterPointReflections.insert - ( - masterPoints.size() - 1, - firstPlane - ); - } -// else if -// ( -// eStatusPrev == extendedFeatureEdgeMesh::INTERNAL -// && eStatusCurr == extendedFeatureEdgeMesh::EXTERNAL -// ) -// { -// // Insert a new master point. -// Foam::point pt = featPt + pointMotionDirection; -// -// planeDynList firstPlane; -// firstPlane.append(autoPtr<plane>(new plane(featPt, n))); -// -// masterPoints.append(pt); -// -// masterPointsTypes.append -// ( -// sign == 1 -// ? Vb::vtExternalFeaturePoint // true -// : Vb::vtInternalFeaturePoint // false -// ); -// -// masterPointReflections.insert -// ( -// masterPoints.size() - 1, -// firstPlane -// ); -// } -// else if -// ( -// eStatusPrev == extendedFeatureEdgeMesh::EXTERNAL -// && eStatusCurr == extendedFeatureEdgeMesh::INTERNAL -// ) -// { -// -// } - else - { - // Just add this face contribution to the latest master point - - masterPoints.last() += pointMotionDirection; - - masterPointReflections[masterPoints.size() - 1].append - ( - autoPtr<plane>(new plane(featPt, n)) - ); - } - - } while (circ.circulate(CirculatorBase::CLOCKWISE)); - - addMasterAndSlavePoints - ( - masterPoints, - masterPointsTypes, - masterPointReflections, - pts, - ptI - ); -} - - -void Foam::conformalVoronoiMesh::createFeaturePoints(DynamicList<Vb>& pts) -{ - const PtrList<extendedFeatureEdgeMesh>& feMeshes - ( - geometryToConformTo_.features() - ); - - forAll(feMeshes, i) - { - const extendedFeatureEdgeMesh& feMesh(feMeshes[i]); - - for - ( - label ptI = feMesh.convexStart(); - ptI < feMesh.mixedStart(); -// ptI < feMesh.nonFeatureStart(); - ptI++ - ) - { - createMasterAndSlavePoints(feMesh, ptI, pts); - } - - if (foamyHexMeshControls().guardFeaturePoints()) - { - for - ( - //label ptI = feMesh.convexStart(); - label ptI = feMesh.mixedStart(); - ptI < feMesh.nonFeatureStart(); - ptI++ - ) - { - pts.append - ( - Vb - ( - feMesh.points()[ptI], - Vb::vtConstrained - ) - ); - } - } - } } @@ -1654,71 +1065,3 @@ void Foam::conformalVoronoiMesh::createFeaturePoints(DynamicList<Vb>& pts) // } // } //} - - -Foam::vector Foam::conformalVoronoiMesh::sharedFaceNormal -( - const extendedFeatureEdgeMesh& feMesh, - const label edgeI, - const label nextEdgeI -) const -{ - const labelList& edgeInormals = feMesh.edgeNormals()[edgeI]; - const labelList& nextEdgeInormals = feMesh.edgeNormals()[nextEdgeI]; - - const vector& A1 = feMesh.normals()[edgeInormals[0]]; - const vector& A2 = feMesh.normals()[edgeInormals[1]]; - - const vector& B1 = feMesh.normals()[nextEdgeInormals[0]]; - const vector& B2 = feMesh.normals()[nextEdgeInormals[1]]; - -// Info<< " A1 = " << A1 << endl; -// Info<< " A2 = " << A2 << endl; -// Info<< " B1 = " << B1 << endl; -// Info<< " B2 = " << B2 << endl; - - const scalar A1B1 = mag((A1 & B1) - 1.0); - const scalar A1B2 = mag((A1 & B2) - 1.0); - const scalar A2B1 = mag((A2 & B1) - 1.0); - const scalar A2B2 = mag((A2 & B2) - 1.0); - -// Info<< " A1B1 = " << A1B1 << endl; -// Info<< " A1B2 = " << A1B2 << endl; -// Info<< " A2B1 = " << A2B1 << endl; -// Info<< " A2B2 = " << A2B2 << endl; - - if (A1B1 < A1B2 && A1B1 < A2B1 && A1B1 < A2B2) - { - return 0.5*(A1 + B1); - } - else if (A1B2 < A1B1 && A1B2 < A2B1 && A1B2 < A2B2) - { - return 0.5*(A1 + B2); - } - else if (A2B1 < A1B1 && A2B1 < A1B2 && A2B1 < A2B2) - { - return 0.5*(A2 + B1); - } - else - { - return 0.5*(A2 + B2); - } -} - - -Foam::List<Foam::point> Foam::conformalVoronoiMesh::reflectPointInPlanes -( - const Foam::point p, - const DynamicList<autoPtr<plane> >& planes -) const -{ - List<Foam::point> reflectedPoints(planes.size()); - - forAll(planes, planeI) - { - reflectedPoints[planeI] = planes[planeI]().mirror(p); - } - - return reflectedPoints; -} - diff --git a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMeshI.H b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMeshI.H index 9fa34b82d389f50cff6d725762c0e69b8ff15ed2..64534cb83903e1019f2e274eefa6aa5879608728 100644 --- a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMeshI.H +++ b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMeshI.H @@ -23,6 +23,9 @@ License \*---------------------------------------------------------------------------*/ +#include "indexedVertexOps.H" +#include "indexedCellOps.H" + // * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // inline Foam::scalar Foam::conformalVoronoiMesh::defaultCellSize() const @@ -40,25 +43,6 @@ inline Foam::scalar Foam::conformalVoronoiMesh::targetCellSize } -inline Foam::scalar Foam::conformalVoronoiMesh::averageCellSize -( - const Vertex_handle& vA, - const Vertex_handle& vB -) const -{ - // Arithmetic mean - // return 0.5*(vA->targetCellSize() + vB->targetCellSize()); - - // Geometric mean - return sqrt(vA->targetCellSize()*vB->targetCellSize()); - - // Harmonic mean - // return - // 2.0*(vA->targetCellSize()*vB->targetCellSize()) - // /(vA->targetCellSize() + vB->targetCellSize()); -} - - inline Foam::scalar Foam::conformalVoronoiMesh::averageAnyCellSize ( const Vertex_handle& vA, @@ -90,7 +74,7 @@ inline Foam::scalar Foam::conformalVoronoiMesh::averageAnyCellSize return vB->targetCellSize(); } - return averageCellSize(vA, vB); + return CGAL::indexedVertexOps::averageCellSize(vA, vB); } @@ -242,7 +226,7 @@ inline void Foam::conformalVoronoiMesh::createPointPair const Foam::point& surfPt, const vector& n, DynamicList<Vb>& pts -) +) const { vector ppDistn = ppDist*n; @@ -313,7 +297,7 @@ inline void Foam::conformalVoronoiMesh::createBafflePointPair const Foam::point& surfPt, const vector& n, DynamicList<Vb>& pts -) +) const { vector ppDistn = ppDist*n; @@ -341,6 +325,24 @@ inline void Foam::conformalVoronoiMesh::createBafflePointPair } +inline bool Foam::conformalVoronoiMesh::internalPointIsInside +( + const Foam::point& pt +) const +{ + if + ( + !geometryToConformTo_.inside(pt) + || !geometryToConformTo_.globalBounds().contains(pt) + ) + { + return false; + } + + return true; +} + + inline bool Foam::conformalVoronoiMesh::isPointPair ( const Vertex_handle& vA, @@ -507,9 +509,9 @@ inline Foam::List<Foam::label> Foam::conformalVoronoiMesh::processorsAttached const int oppositeVertex = fit->second; const Cell_handle c2(c1->neighbor(oppositeVertex)); - FixedList<label, 4> c1Procs(c1->processorsAttached()); + FixedList<label, 4> c1Procs(CGAL::indexedCellOps::processorsAttached(c1)); - FixedList<label, 4> c2Procs(c2->processorsAttached()); + FixedList<label, 4> c2Procs(CGAL::indexedCellOps::processorsAttached(c2)); forAll(c1Procs, aPI) { diff --git a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMeshIO.C b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMeshIO.C index 4c584fd4b574280456b34bfb2f030ae8d7b511e7..bb34cbd4a69c0e92987c75c77af047b55dd009a5 100644 --- a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMeshIO.C +++ b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMeshIO.C @@ -33,6 +33,8 @@ License #include "polyTopoChange.H" #include "PrintTable.H" #include "pointMesh.H" +#include "indexedVertexOps.H" +#include "DelaunayMeshTools.H" // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // @@ -91,272 +93,9 @@ void Foam::conformalVoronoiMesh::timeCheck } -void Foam::conformalVoronoiMesh::drawDelaunayCell -( - Ostream& os, - const Cell_handle& c, - label offset -) const -{ - // Supply offset as tet number - offset *= 4; - - os << "# cell index: " << label(c->cellIndex()) - << " INT_MIN = " << INT_MIN - << endl; - - os << "# circumradius " - << mag(c->dual() - topoint(c->vertex(0)->point())) - << endl; - - for (int i = 0; i < 4; i++) - { - os << "# index / type / procIndex: " - << label(c->vertex(i)->index()) << " " - << label(c->vertex(i)->type()) << " " - << label(c->vertex(i)->procIndex()) - << (is_infinite(c->vertex(i)) ? " # This vertex is infinite!" : "") - << - ( - c->vertex(i)->uninitialised() - ? " # This vertex is uninitialised!" - : "" - ) - << endl; - - meshTools::writeOBJ(os, topoint(c->vertex(i)->point())); - } - - os << "f " << 1 + offset << " " << 3 + offset << " " << 2 + offset << nl - << "f " << 2 + offset << " " << 3 + offset << " " << 4 + offset << nl - << "f " << 1 + offset << " " << 4 + offset << " " << 3 + offset << nl - << "f " << 1 + offset << " " << 2 + offset << " " << 4 + offset << endl; - -// os << "# cicumcentre " << endl; - -// meshTools::writeOBJ(os, c->dual()); - -// os << "l " << 1 + offset << " " << 5 + offset << endl; -} - - -void Foam::conformalVoronoiMesh::writePoints -( - const fileName& fName, - const Foam::indexedVertexEnum::vertexType startPointType, - const Foam::indexedVertexEnum::vertexType endPointType -) const -{ - OFstream str(runTime_.path()/fName); - - Pout<< nl << "Writing points of types:" << nl; - - forAllConstIter - ( - HashTable<int>, - Foam::indexedVertexEnum::vertexTypeNames_, - iter - ) - { - if (iter() >= startPointType && iter() <= endPointType) - { - Pout<< " " << iter.key() << nl; - } - } - - Pout<< "to " << str.name() << endl; - - for - ( - Delaunay::Finite_vertices_iterator vit = finite_vertices_begin(); - vit != finite_vertices_end(); - ++vit - ) - { - if (vit->type() >= startPointType && vit->type() <= endPointType) - { - meshTools::writeOBJ(str, topoint(vit->point())); - } - } -} - - -void Foam::conformalVoronoiMesh::writePoints -( - const fileName& fName, - const Foam::indexedVertexEnum::vertexType pointType -) const -{ - writePoints(fName, pointType, pointType); -} - - -void Foam::conformalVoronoiMesh::writeFixedPoints -( - const fileName& fName -) const -{ - OFstream str(runTime_.path()/fName); - - Pout<< nl << "Writing fixed points to " << str.name() << endl; - - for - ( - Delaunay::Finite_vertices_iterator vit = finite_vertices_begin(); - vit != finite_vertices_end(); - ++vit - ) - { - if (vit->fixed()) - { - meshTools::writeOBJ(str, topoint(vit->point())); - } - } -} - - -void Foam::conformalVoronoiMesh::writeBoundaryPoints -( - const fileName& fName -) const -{ - OFstream str(runTime_.path()/fName); - - Pout<< nl << "Writing boundary points to " << str.name() << endl; - - for - ( - Delaunay::Finite_vertices_iterator vit = finite_vertices_begin(); - vit != finite_vertices_end(); - ++vit - ) - { - if (!vit->internalPoint()) - { - meshTools::writeOBJ(str, topoint(vit->point())); - } - } -} - - -void Foam::conformalVoronoiMesh::writePoints -( - const fileName& fName, - const List<Foam::point>& points -) const -{ - if (points.size()) - { - OFstream str(runTime_.path()/fName); - - Pout<< nl << "Writing " << points.size() << " points from pointList to " - << str.name() << endl; - - forAll(points, p) - { - meshTools::writeOBJ(str, points[p]); - } - } -} - - -void Foam::conformalVoronoiMesh::writePoints -( - const fileName& fName, - const List<Vb>& points -) const -{ - if (points.size()) - { - OFstream str(runTime_.path()/fName); - - Pout<< nl << "Writing " << points.size() << " points from pointList to " - << str.name() << endl; - - forAll(points, p) - { - meshTools::writeOBJ(str, topoint(points[p].point())); - } - } -} - - -void Foam::conformalVoronoiMesh::writeProcessorInterface -( - const fileName& fName, - const faceList& faces -) const -{ - OFstream str(runTime_.path()/fName); - - pointField points(number_of_finite_cells(), point::max); - - for - ( - Delaunay::Finite_cells_iterator cit = finite_cells_begin(); - cit != finite_cells_end(); - ++cit - ) - { - if (!cit->hasFarPoint() && !is_infinite(cit)) - { - points[cit->cellIndex()] = cit->dual(); - } - } - - meshTools::writeOBJ(str, faces, points); -} - - -void Foam::conformalVoronoiMesh::writeInternalDelaunayVertices -( - const fileName& instance -) const -{ - pointField internalDelaunayVertices(number_of_vertices()); - - label vertI = 0; - - for - ( - Delaunay::Finite_vertices_iterator vit = finite_vertices_begin(); - vit != finite_vertices_end(); - ++vit - ) - { - if (vit->internalPoint()) - { - internalDelaunayVertices[vertI++] = topoint(vit->point()); - } - } - - internalDelaunayVertices.setSize(vertI); - - pointIOField internalDVs - ( - IOobject - ( - "internalDelaunayVertices", - instance, - runTime_, - IOobject::NO_READ, - IOobject::AUTO_WRITE - ), - internalDelaunayVertices - ); - - Info<< nl - << "Writing " << internalDVs.name() - << " to " << internalDVs.instance() - << endl; - - internalDVs.write(); -} - - void Foam::conformalVoronoiMesh::writeMesh(const fileName& instance) { - writeInternalDelaunayVertices(instance); + DelaunayMeshTools::writeInternalDelaunayVertices(instance, *this); // Per cell the Delaunay vertex labelList cellToDelaunayVertex; @@ -935,6 +674,8 @@ void Foam::conformalVoronoiMesh::reorderProcessorPatches pBufs.finishedSends(); + Info<< incrIndent << indent << " Face ordering initialised..." << endl; + // Receive and calculate ordering bool anyChanged = false; @@ -992,6 +733,8 @@ void Foam::conformalVoronoiMesh::reorderProcessorPatches } } + Info<< incrIndent << indent << " Faces matched." << endl; + reduce(anyChanged, orOp<bool>()); if (anyChanged) @@ -1049,7 +792,12 @@ void Foam::conformalVoronoiMesh::writeMesh { if (foamyHexMeshControls().objOutput()) { - writeObjMesh(points, faces, word(meshName + ".obj")); + DelaunayMeshTools::writeObjMesh + ( + time().path()/word(meshName + ".obj"), + points, + faces + ); } const label nInternalFaces = readLabel(patchDicts[0].lookup("startFace")); @@ -1404,38 +1152,6 @@ void Foam::conformalVoronoiMesh::writeMesh } -void Foam::conformalVoronoiMesh::writeObjMesh -( - const pointField& points, - const faceList& faces, - const fileName& fName -) const -{ - OFstream str(runTime_.path()/fName); - - Pout<< nl << "Writing points and faces to " << str.name() << endl; - - forAll(points, p) - { - meshTools::writeOBJ(str, points[p]); - } - - forAll(faces, f) - { - str<< 'f'; - - const face& fP = faces[f]; - - forAll(fP, p) - { - str<< ' ' << fP[p] + 1; - } - - str<< nl; - } -} - - void Foam::conformalVoronoiMesh::writeCellSizes ( const fvMesh& mesh diff --git a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMeshTemplates.C b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMeshTemplates.C index 89e09a336d90d0750cf4cee8f1745a6112987d85..54a54ed6e91d82278c57360e03ec56e200695964 100644 --- a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMeshTemplates.C +++ b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMeshTemplates.C @@ -27,47 +27,6 @@ License // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // -template<class Triangulation> -Foam::scalar Foam::conformalVoronoiMesh::calculateLoadUnbalance -( - const Triangulation& mesh -) const -{ - label nRealVertices = 0; - - for - ( - typename Triangulation::Finite_vertices_iterator vit - = mesh.finite_vertices_begin(); - vit != mesh.finite_vertices_end(); - ++vit - ) - { - // Only store real vertices that are not feature vertices - if (vit->real() && !vit->featurePoint()) - { - nRealVertices++; - } - } - - scalar globalNRealVertices = returnReduce - ( - nRealVertices, - sumOp<label>() - ); - - scalar unbalance = returnReduce - ( - mag(1.0 - nRealVertices/(globalNRealVertices/Pstream::nProcs())), - maxOp<scalar>() - ); - - Info<< " Processor unbalance " << unbalance << endl; - - return unbalance; -} - - template<class Triangulation> bool Foam::conformalVoronoiMesh::distributeBackground(const Triangulation& mesh) { @@ -86,7 +45,7 @@ bool Foam::conformalVoronoiMesh::distributeBackground(const Triangulation& mesh) while (true) { - scalar maxLoadUnbalance = calculateLoadUnbalance(mesh); + scalar maxLoadUnbalance = mesh.calculateLoadUnbalance(); if ( diff --git a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/featurePointConformer/featurePointConformer.C b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/featurePointConformer/featurePointConformer.C new file mode 100644 index 0000000000000000000000000000000000000000..542f84afe52657e9bfe87c9cc7e4152729ac5be0 --- /dev/null +++ b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/featurePointConformer/featurePointConformer.C @@ -0,0 +1,604 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / 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 <http://www.gnu.org/licenses/>. + +\*---------------------------------------------------------------------------*/ + +#include "featurePointConformer.H" +#include "cvControls.H" +#include "conformationSurfaces.H" +#include "conformalVoronoiMesh.H" +#include "cellShapeControl.H" +#include "DelaunayMeshTools.H" +#include "const_circulator.H" +#include "backgroundMeshDecomposition.H" +#include "autoPtr.H" +#include "mapDistribute.H" + +// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // + +namespace Foam +{ +defineTypeNameAndDebug(featurePointConformer, 0); +} + +const Foam::scalar Foam::featurePointConformer::tolParallel = 1e-3; + + +// * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * * // + +Foam::vector Foam::featurePointConformer::sharedFaceNormal +( + const extendedFeatureEdgeMesh& feMesh, + const label edgeI, + const label nextEdgeI +) const +{ + const labelList& edgeInormals = feMesh.edgeNormals()[edgeI]; + const labelList& nextEdgeInormals = feMesh.edgeNormals()[nextEdgeI]; + + const vector& A1 = feMesh.normals()[edgeInormals[0]]; + const vector& A2 = feMesh.normals()[edgeInormals[1]]; + + const vector& B1 = feMesh.normals()[nextEdgeInormals[0]]; + const vector& B2 = feMesh.normals()[nextEdgeInormals[1]]; + +// Info<< " A1 = " << A1 << endl; +// Info<< " A2 = " << A2 << endl; +// Info<< " B1 = " << B1 << endl; +// Info<< " B2 = " << B2 << endl; + + const scalar A1B1 = mag((A1 & B1) - 1.0); + const scalar A1B2 = mag((A1 & B2) - 1.0); + const scalar A2B1 = mag((A2 & B1) - 1.0); + const scalar A2B2 = mag((A2 & B2) - 1.0); + +// Info<< " A1B1 = " << A1B1 << endl; +// Info<< " A1B2 = " << A1B2 << endl; +// Info<< " A2B1 = " << A2B1 << endl; +// Info<< " A2B2 = " << A2B2 << endl; + + if (A1B1 < A1B2 && A1B1 < A2B1 && A1B1 < A2B2) + { + return 0.5*(A1 + B1); + } + else if (A1B2 < A1B1 && A1B2 < A2B1 && A1B2 < A2B2) + { + return 0.5*(A1 + B2); + } + else if (A2B1 < A1B1 && A2B1 < A1B2 && A2B1 < A2B2) + { + return 0.5*(A2 + B1); + } + else + { + return 0.5*(A2 + B2); + } +} + + +Foam::label Foam::featurePointConformer::getSign +( + const extendedFeatureEdgeMesh::edgeStatus eStatus +) const +{ + if (eStatus == extendedFeatureEdgeMesh::EXTERNAL) + { + return -1; + } + else if (eStatus == extendedFeatureEdgeMesh::INTERNAL) + { + return 1; + } + + return 0; +} + + +void Foam::featurePointConformer::addMasterAndSlavePoints +( + const DynamicList<Foam::point>& masterPoints, + const DynamicList<Foam::indexedVertexEnum::vertexType>& masterPointsTypes, + const Map<DynamicList<autoPtr<plane> > >& masterPointReflections, + DynamicList<Vb>& pts, + const label ptI +) const +{ + typedef DynamicList<autoPtr<plane> > planeDynList; + typedef Foam::indexedVertexEnum::vertexType vertexType; + + forAll(masterPoints, pI) + { + // Append master to the list of points + + const Foam::point& masterPt = masterPoints[pI]; + const vertexType masterType = masterPointsTypes[pI]; + +// Info<< " Master = " << masterPt << endl; + + pts.append + ( + Vb + ( + masterPt, + foamyHexMesh_.vertexCount() + pts.size(), + masterType, + Pstream::myProcNo() + ) + ); + +// const label masterIndex = pts[pts.size() - 1].index(); + + //meshTools::writeOBJ(strMasters, masterPt); + + const planeDynList& masterPointPlanes = masterPointReflections[pI]; + + forAll(masterPointPlanes, planeI) + { + // Reflect master points in the planes and insert the slave points + + const plane& reflPlane = masterPointPlanes[planeI](); + + const Foam::point slavePt = reflPlane.mirror(masterPt); + +// Info<< " Slave " << planeI << " = " << slavePt << endl; + + const vertexType slaveType = + ( + masterType == Vb::vtInternalFeaturePoint + ? Vb::vtExternalFeaturePoint // true + : Vb::vtInternalFeaturePoint // false + ); + + pts.append + ( + Vb + ( + slavePt, + foamyHexMesh_.vertexCount() + pts.size(), + slaveType, + Pstream::myProcNo() + ) + ); + + + //meshTools::writeOBJ(strSlaves, slavePt); + } + } +} + + +void Foam::featurePointConformer::createMasterAndSlavePoints +( + const extendedFeatureEdgeMesh& feMesh, + const label ptI, + DynamicList<Vb>& pts +) const +{ + typedef DynamicList<autoPtr<plane> > planeDynList; + typedef indexedVertexEnum::vertexType vertexType; + typedef extendedFeatureEdgeMesh::edgeStatus edgeStatus; + + const Foam::point& featPt = feMesh.points()[ptI]; + + if + ( + ( + Pstream::parRun() + && !foamyHexMesh_.decomposition().positionOnThisProcessor(featPt) + ) + || geometryToConformTo_.outside(featPt) + ) + { + return; + } + + const scalar ppDist = foamyHexMesh_.pointPairDistance(featPt); + + // Maintain a list of master points and the planes to relect them in + DynamicList<Foam::point> masterPoints; + DynamicList<vertexType> masterPointsTypes; + Map<planeDynList> masterPointReflections; + + const labelList& featPtEdges = feMesh.featurePointEdges()[ptI]; + + pointFeatureEdgesTypes pointEdgeTypes(feMesh, ptI); + + const List<extendedFeatureEdgeMesh::edgeStatus> allEdStat = + pointEdgeTypes.calcPointFeatureEdgesTypes(); + +// Info<< nl << featPt << " " << pointEdgeTypes; + + const_circulator<labelList> circ(featPtEdges); + + // Loop around the edges of the feature point + if (circ.size()) do + { +// const edgeStatus eStatusPrev = feMesh.getEdgeStatus(circ.prev()); + const edgeStatus eStatusCurr = feMesh.getEdgeStatus(circ()); +// const edgeStatus eStatusNext = feMesh.getEdgeStatus(circ.next()); + +// Info<< " Prev = " +// << extendedFeatureEdgeMesh::edgeStatusNames_[eStatusPrev] +// << " Curr = " +// << extendedFeatureEdgeMesh::edgeStatusNames_[eStatusCurr] +//// << " Next = " +//// << extendedFeatureEdgeMesh::edgeStatusNames_[eStatusNext] +// << endl; + + // Get the direction in which to move the point in relation to the + // feature point + label sign = getSign(eStatusCurr); + + const vector n = sharedFaceNormal(feMesh, circ(), circ.next()); + + const vector pointMotionDirection = sign*0.5*ppDist*n; + +// Info<< " Shared face normal = " << n << endl; +// Info<< " Direction to move point = " << pointMotionDirection +// << endl; + + if (masterPoints.empty()) + { + // Initialise with the first master point + Foam::point pt = featPt + pointMotionDirection; + + planeDynList firstPlane; + firstPlane.append(autoPtr<plane>(new plane(featPt, n))); + + masterPoints.append(pt); + + masterPointsTypes.append + ( + sign == 1 + ? Vb::vtExternalFeaturePoint // true + : Vb::vtInternalFeaturePoint // false + ); + + //Info<< " " << " " << firstPlane << endl; + +// const Foam::point reflectedPoint = reflectPointInPlane +// ( +// masterPoints.last(), +// firstPlane.last()() +// ); + + masterPointReflections.insert + ( + masterPoints.size() - 1, + firstPlane + ); + } +// else if +// ( +// eStatusPrev == extendedFeatureEdgeMesh::INTERNAL +// && eStatusCurr == extendedFeatureEdgeMesh::EXTERNAL +// ) +// { +// // Insert a new master point. +// Foam::point pt = featPt + pointMotionDirection; +// +// planeDynList firstPlane; +// firstPlane.append(autoPtr<plane>(new plane(featPt, n))); +// +// masterPoints.append(pt); +// +// masterPointsTypes.append +// ( +// sign == 1 +// ? Vb::vtExternalFeaturePoint // true +// : Vb::vtInternalFeaturePoint // false +// ); +// +// masterPointReflections.insert +// ( +// masterPoints.size() - 1, +// firstPlane +// ); +// } +// else if +// ( +// eStatusPrev == extendedFeatureEdgeMesh::EXTERNAL +// && eStatusCurr == extendedFeatureEdgeMesh::INTERNAL +// ) +// { +// +// } + else + { + // Just add this face contribution to the latest master point + + masterPoints.last() += pointMotionDirection; + + masterPointReflections[masterPoints.size() - 1].append + ( + autoPtr<plane>(new plane(featPt, n)) + ); + } + + } while (circ.circulate(CirculatorBase::CLOCKWISE)); + + addMasterAndSlavePoints + ( + masterPoints, + masterPointsTypes, + masterPointReflections, + pts, + ptI + ); +} + + +void Foam::featurePointConformer::createMixedFeaturePoints +( + DynamicList<Vb>& pts +) const +{ + if (foamyHexMeshControls_.mixedFeaturePointPPDistanceCoeff() < 0) + { + Info<< nl + << "Skipping specialised handling for mixed feature points" << endl; + + return; + } + + const PtrList<extendedFeatureEdgeMesh>& feMeshes + ( + geometryToConformTo_.features() + ); + + forAll(feMeshes, i) + { + const extendedFeatureEdgeMesh& feMesh = feMeshes[i]; + const labelListList& pointsEdges = feMesh.pointEdges(); + const pointField& points = feMesh.points(); + + for + ( + label ptI = feMesh.mixedStart(); + ptI < feMesh.nonFeatureStart(); + ptI++ + ) + { + const Foam::point& featPt = points[ptI]; + + if + ( + Pstream::parRun() + && !foamyHexMesh_.decomposition().positionOnThisProcessor(featPt)) + { + continue; + } + + const labelList& pEds = pointsEdges[ptI]; + + pointFeatureEdgesTypes pFEdgeTypes(feMesh, ptI); + + const List<extendedFeatureEdgeMesh::edgeStatus> allEdStat = + pFEdgeTypes.calcPointFeatureEdgesTypes(); + + bool specialisedSuccess = false; + + if (foamyHexMeshControls_.specialiseFeaturePoints()) + { + specialisedSuccess = + createSpecialisedFeaturePoint + ( + feMesh, pEds, pFEdgeTypes, allEdStat, ptI, pts + ); + } + + if (!specialisedSuccess && foamyHexMeshControls_.edgeAiming()) + { + // Specialisations available for some mixed feature points. For + // non-specialised feature points, inserting mixed internal and + // external edge groups at feature point. + + // Skipping unsupported mixed feature point types +// bool skipEdge = false; +// +// forAll(pEds, e) +// { +// const label edgeI = pEds[e]; +// +// const extendedFeatureEdgeMesh::edgeStatus edStatus +// = feMesh.getEdgeStatus(edgeI); +// +// if +// ( +// edStatus == extendedFeatureEdgeMesh::OPEN +// || edStatus == extendedFeatureEdgeMesh::MULTIPLE +// ) +// { +// Info<< "Edge type " << edStatus +// << " found for mixed feature point " << ptI +// << ". Not supported." +// << endl; +// +// skipEdge = true; +// } +// } +// +// if (skipEdge) +// { +// Info<< "Skipping point " << ptI << nl << endl; +// +// continue; +// } + +// createFeaturePoints(feMesh, ptI, pts, types); + + const Foam::point& pt = points[ptI]; + + const scalar edgeGroupDistance = + foamyHexMesh_.mixedFeaturePointDistance(pt); + + forAll(pEds, e) + { + const label edgeI = pEds[e]; + + const Foam::point edgePt = + pt + edgeGroupDistance*feMesh.edgeDirection(edgeI, ptI); + + const pointIndexHit edgeHit(true, edgePt, edgeI); + + foamyHexMesh_.createEdgePointGroup(feMesh, edgeHit, pts); + } + } + } + } +} + + +void Foam::featurePointConformer::createFeaturePoints(DynamicList<Vb>& pts) +{ + const PtrList<extendedFeatureEdgeMesh>& feMeshes + ( + geometryToConformTo_.features() + ); + + forAll(feMeshes, i) + { + const extendedFeatureEdgeMesh& feMesh(feMeshes[i]); + + for + ( + label ptI = feMesh.convexStart(); + ptI < feMesh.mixedStart(); +// ptI < feMesh.nonFeatureStart(); + ptI++ + ) + { + createMasterAndSlavePoints(feMesh, ptI, pts); + } + + if (foamyHexMeshControls_.guardFeaturePoints()) + { + for + ( + //label ptI = feMesh.convexStart(); + label ptI = feMesh.mixedStart(); + ptI < feMesh.nonFeatureStart(); + ptI++ + ) + { + pts.append + ( + Vb + ( + feMesh.points()[ptI], + Vb::vtConstrained + ) + ); + } + } + } +} + + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +Foam::featurePointConformer::featurePointConformer +( + const conformalVoronoiMesh& foamyHexMesh +) +: + foamyHexMesh_(foamyHexMesh), + foamyHexMeshControls_(foamyHexMesh.foamyHexMeshControls()), + geometryToConformTo_(foamyHexMesh.geometryToConformTo()), + featurePointVertices_() +{ + Info<< nl + << "Conforming to feature points" << endl; + + Info<< incrIndent + << indent << "Circulating edges is: " + << foamyHexMeshControls_.circulateEdges().asText() << nl + << indent << "Guarding feature points is: " + << foamyHexMeshControls_.guardFeaturePoints().asText() << nl + << indent << "Snapping to feature points is: " + << foamyHexMeshControls_.snapFeaturePoints().asText() << nl + << indent << "Specialising feature points is: " + << foamyHexMeshControls_.specialiseFeaturePoints().asText() + << decrIndent + << endl; + + DynamicList<Vb> pts; + + createFeaturePoints(pts); + + createMixedFeaturePoints(pts); + + // Points added using the createEdgePointGroup function will be labelled as + // internal/external feature edges. Relabel them as feature points, + // otherwise they are inserted as both feature points and surface points. + forAll(pts, pI) + { + Vb& pt = pts[pI]; + + //if (pt.featureEdgePoint()) + { + if (pt.internalBoundaryPoint()) + { + pt.type() = Vb::vtInternalFeaturePoint; + } + else if (pt.externalBoundaryPoint()) + { + pt.type() = Vb::vtExternalFeaturePoint; + } + } + } + + if (foamyHexMeshControls_.objOutput()) + { + DelaunayMeshTools::writeOBJ("featureVertices.obj", pts); + } + + featurePointVertices_.transfer(pts); +} + + +// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // + +Foam::featurePointConformer::~featurePointConformer() +{} + + +// * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * // + +void Foam::featurePointConformer::distribute +( + const backgroundMeshDecomposition& decomposition +) +{ + // Distribute points to their appropriate processor + decomposition.distributePoints(featurePointVertices_); + + // Update the processor indices of the points to the new processor number + forAll(featurePointVertices_, vI) + { + featurePointVertices_[vI].procIndex() = Pstream::myProcNo(); + } +} + + +// ************************************************************************* // diff --git a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/featurePointConformer/featurePointConformer.H b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/featurePointConformer/featurePointConformer.H new file mode 100644 index 0000000000000000000000000000000000000000..d4d52c1fff88eea251fef5bc0e368c15b4ce8c9b --- /dev/null +++ b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/featurePointConformer/featurePointConformer.H @@ -0,0 +1,187 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / 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 <http://www.gnu.org/licenses/>. + +Class + Foam::featurePointConformer + +Description + The Delaunay vertices required to conform to a feature point can be + determined upon initialisation because the feature points are fixed and + do not change throughout the meshing process. + +SourceFiles + featurePointConformerI.H + featurePointConformer.C + featurePointConformerSpecialisations.C + +\*---------------------------------------------------------------------------*/ + +#ifndef featurePointConformer_H +#define featurePointConformer_H + +#include "CGALTriangulation3Ddefs.H" +#include "vector.H" +#include "DynamicList.H" +#include "List.H" +#include "extendedFeatureEdgeMesh.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +class conformalVoronoiMesh; +class cvControls; +class conformationSurfaces; +class pointFeatureEdgesTypes; +class backgroundMeshDecomposition; + +/*---------------------------------------------------------------------------*\ + Class featurePointConformer Declaration +\*---------------------------------------------------------------------------*/ + +class featurePointConformer +{ + // Static data + + //- Tolerance within which two lines are said to be parallel. + static const scalar tolParallel; + + + // Private data + + //- Reference to the mesher. + const conformalVoronoiMesh& foamyHexMesh_; + + //- Reference to the mesher controls. + const cvControls& foamyHexMeshControls_; + + //- Reference to the conformation surfaces. + const conformationSurfaces& geometryToConformTo_; + + //- Store the feature constraining points, to be reinserted after a + // triangulation clear. + List<Vb> featurePointVertices_; + + + // Private Member Functions + + //- Calculate the shared face normal between two edges geometrically. + vector sharedFaceNormal + ( + const extendedFeatureEdgeMesh& feMesh, + const label edgeI, + const label nextEdgeI + ) const; + + label getSign(const extendedFeatureEdgeMesh::edgeStatus eStatus) const; + + bool createSpecialisedFeaturePoint + ( + const extendedFeatureEdgeMesh& feMesh, + const labelList& pEds, + const pointFeatureEdgesTypes& pFEdgesTypes, + const List<extendedFeatureEdgeMesh::edgeStatus>& allEdStat, + const label ptI, + DynamicList<Vb>& pts + ) const; + + + void addMasterAndSlavePoints + ( + const DynamicList<point>& masterPoints, + const DynamicList<indexedVertexEnum::vertexType>& masterPointsTypes, + const Map<DynamicList<autoPtr<plane> > >& masterPointReflections, + DynamicList<Vb>& pts, + const label ptI + ) const; + + //- Helper function for conforming to feature points + void createMasterAndSlavePoints + ( + const extendedFeatureEdgeMesh& feMesh, + const label ptI, + DynamicList<Vb>& pts + ) const; + + void createMixedFeaturePoints(DynamicList<Vb>& pts) const; + + //- Create the points that will conform to the feature + void createFeaturePoints(DynamicList<Vb>& pts); + + //- Disallow default bitwise copy construct + featurePointConformer(const featurePointConformer&); + + //- Disallow default bitwise assignment + void operator=(const featurePointConformer&); + + +public: + + //- Runtime type information + ClassName("featurePointConformer"); + + + // Constructors + + //- Construct from components + explicit featurePointConformer + ( + const conformalVoronoiMesh& foamyHexMesh + ); + + + //- Destructor + ~featurePointConformer(); + + + // Member Functions + + // Access + + //- Return the feature point vertices for insertion into the + // triangulation. + inline const List<Vb>& featurePointVertices() const; + + + // Edit + + //- Distribute the feature point vertices according to the + // supplied background mesh + void distribute(const backgroundMeshDecomposition& decomposition); +}; + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#include "featurePointConformerI.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/wallDissipation.H b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/featurePointConformer/featurePointConformerI.H similarity index 69% rename from applications/solvers/multiphase/twoPhaseEulerFoam/wallDissipation.H rename to applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/featurePointConformer/featurePointConformerI.H index 207fb40a321c9c5ec02b1d4d5c066d6e6859f371..406ed3f00048ce0890e612e901f82df573ebd377 100644 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/wallDissipation.H +++ b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/featurePointConformer/featurePointConformerI.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2013 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -21,30 +21,12 @@ License You should have received a copy of the GNU General Public License along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. -Global - wallDissipation - -Description - Set wall dissipation in the epsilon matrix - \*---------------------------------------------------------------------------*/ +const Foam::List<Vb>& Foam::featurePointConformer::featurePointVertices() const { - const fvPatchList& patches = mesh.boundary(); - - forAll(patches, patchi) - { - const fvPatch& p = patches[patchi]; - - if (isA<wallFvPatch>(p)) - { - epsEqn.setValues - ( - p.faceCells(), - epsilon.boundaryField()[patchi].patchInternalField() - ); - } - } + return featurePointVertices_; } + // ************************************************************************* // diff --git a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMeshFeaturePointSpecialisations.C b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/featurePointConformer/featurePointConformerSpecialisations.C similarity index 91% rename from applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMeshFeaturePointSpecialisations.C rename to applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/featurePointConformer/featurePointConformerSpecialisations.C index f26c7a5b51d2c8550a3492963c7afb583413603a..5ddccc0d68a3cbdcead08d9c961f8d9febd0abe2 100644 --- a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMeshFeaturePointSpecialisations.C +++ b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/featurePointConformer/featurePointConformerSpecialisations.C @@ -23,39 +23,17 @@ License \*---------------------------------------------------------------------------*/ -#include "conformalVoronoiMesh.H" +#include "featurePointConformer.H" #include "vectorTools.H" +#include "pointFeatureEdgesTypes.H" +#include "conformalVoronoiMesh.H" +#include "pointConversion.H" using namespace Foam::vectorTools; // * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * * // -Foam::List<Foam::extendedFeatureEdgeMesh::edgeStatus> -Foam::conformalVoronoiMesh::calcPointFeatureEdgesTypes -( - const extendedFeatureEdgeMesh& feMesh, - const labelList& pEds, - pointFeatureEdgesTypes& pFEdgeTypes -) const -{ - List<extendedFeatureEdgeMesh::edgeStatus> allEdStat(pEds.size()); - - forAll(pEds, i) - { - label edgeI = pEds[i]; - - extendedFeatureEdgeMesh::edgeStatus& eS = allEdStat[i]; - - eS = feMesh.getEdgeStatus(edgeI); - - pFEdgeTypes(eS)++; - } - - return allEdStat; -} - - -bool Foam::conformalVoronoiMesh::createSpecialisedFeaturePoint +bool Foam::featurePointConformer::createSpecialisedFeaturePoint ( const extendedFeatureEdgeMesh& feMesh, const labelList& pEds, @@ -63,7 +41,7 @@ bool Foam::conformalVoronoiMesh::createSpecialisedFeaturePoint const List<extendedFeatureEdgeMesh::edgeStatus>& allEdStat, const label ptI, DynamicList<Vb>& pts -) +) const { if ( @@ -81,20 +59,24 @@ bool Foam::conformalVoronoiMesh::createSpecialisedFeaturePoint && pEds.size() == 3 ) { - Info<< "nExternal == 2 && nInternal == 1" << endl; + if (debug) Info<< "nExternal == 2 && nInternal == 1" << endl; const Foam::point& featPt = feMesh.points()[ptI]; - if (!positionOnThisProc(featPt)) + if + ( + Pstream::parRun() + && !foamyHexMesh_.decomposition().positionOnThisProcessor(featPt) + ) { return false; } - label nVert = number_of_vertices(); + label nVert = foamyHexMesh_.number_of_vertices(); const label initialNumOfPoints = pts.size(); - const scalar ppDist = pointPairDistance(featPt); + const scalar ppDist = foamyHexMesh_.pointPairDistance(featPt); const vectorField& normals = feMesh.normals(); @@ -204,8 +186,8 @@ bool Foam::conformalVoronoiMesh::createSpecialisedFeaturePoint Foam::point externalPtD; Foam::point externalPtE; - vector convexEdgePlaneCNormal(0,0,0); - vector convexEdgePlaneDNormal(0,0,0); + vector convexEdgePlaneCNormal(vector::zero); + vector convexEdgePlaneDNormal(vector::zero); const labelList& concaveEdgeNormals = edgeNormals[concaveEdgeI]; const labelList& convexEdgeANormals = edgeNormals[convexEdgesI[0]]; @@ -223,8 +205,11 @@ bool Foam::conformalVoronoiMesh::createSpecialisedFeaturePoint const vector& convexNormal = normals[convexEdgeANormals[edgeAnormalI]]; - Info<< "Angle between vectors = " - << degAngleBetween(concaveNormal, convexNormal) << endl; + if (debug) + { + Info<< "Angle between vectors = " + << degAngleBetween(concaveNormal, convexNormal) << endl; + } // Need a looser tolerance, because sometimes adjacent triangles // on the same surface will be slightly out of alignment. @@ -241,8 +226,11 @@ bool Foam::conformalVoronoiMesh::createSpecialisedFeaturePoint const vector& convexNormal = normals[convexEdgeBNormals[edgeBnormalI]]; - Info<< "Angle between vectors = " - << degAngleBetween(concaveNormal, convexNormal) << endl; + if (debug) + { + Info<< "Angle between vectors = " + << degAngleBetween(concaveNormal, convexNormal) << endl; + } // Need a looser tolerance, because sometimes adjacent triangles // on the same surface will be slightly out of alignment. @@ -349,7 +337,7 @@ bool Foam::conformalVoronoiMesh::createSpecialisedFeaturePoint + radAngleBetween(concaveEdgePlaneANormal, concaveEdgePlaneBNormal) ); - if (totalAngle > foamyHexMeshControls().maxQuadAngle()) + if (totalAngle > foamyHexMeshControls_.maxQuadAngle()) { // Add additional mitreing points //scalar angleSign = 1.0; @@ -420,20 +408,27 @@ bool Foam::conformalVoronoiMesh::createSpecialisedFeaturePoint && pEds.size() == 3 ) { - Info<< "nExternal == 1 && nInternal == 2" << endl; + if (debug) + { + Info<< "nExternal == 1 && nInternal == 2" << endl; + } const Foam::point& featPt = feMesh.points()[ptI]; - if (!positionOnThisProc(featPt)) + if + ( + Pstream::parRun() + && !foamyHexMesh_.decomposition().positionOnThisProcessor(featPt) + ) { return false; } - label nVert = number_of_vertices(); + label nVert = foamyHexMesh_.number_of_vertices(); const label initialNumOfPoints = pts.size(); - const scalar ppDist = pointPairDistance(featPt); + const scalar ppDist = foamyHexMesh_.pointPairDistance(featPt); const vectorField& normals = feMesh.normals(); @@ -543,8 +538,8 @@ bool Foam::conformalVoronoiMesh::createSpecialisedFeaturePoint Foam::point externalPtD; Foam::point externalPtE; - vector concaveEdgePlaneCNormal(0,0,0); - vector concaveEdgePlaneDNormal(0,0,0); + vector concaveEdgePlaneCNormal(vector::zero); + vector concaveEdgePlaneDNormal(vector::zero); const labelList& convexEdgeNormals = edgeNormals[convexEdgeI]; const labelList& concaveEdgeANormals = edgeNormals[concaveEdgesI[0]]; @@ -562,8 +557,11 @@ bool Foam::conformalVoronoiMesh::createSpecialisedFeaturePoint const vector& concaveNormal = normals[concaveEdgeANormals[edgeAnormalI]]; - Info<< "Angle between vectors = " - << degAngleBetween(convexNormal, concaveNormal) << endl; + if (debug) + { + Info<< "Angle between vectors = " + << degAngleBetween(convexNormal, concaveNormal) << endl; + } // Need a looser tolerance, because sometimes adjacent triangles // on the same surface will be slightly out of alignment. @@ -580,8 +578,11 @@ bool Foam::conformalVoronoiMesh::createSpecialisedFeaturePoint const vector& concaveNormal = normals[concaveEdgeBNormals[edgeBnormalI]]; - Info<< "Angle between vectors = " - << degAngleBetween(convexNormal, concaveNormal) << endl; + if (debug) + { + Info<< "Angle between vectors = " + << degAngleBetween(convexNormal, concaveNormal) << endl; + } // Need a looser tolerance, because sometimes adjacent triangles // on the same surface will be slightly out of alignment. @@ -691,7 +692,7 @@ bool Foam::conformalVoronoiMesh::createSpecialisedFeaturePoint + radAngleBetween(convexEdgePlaneANormal, convexEdgePlaneBNormal) ); - if (totalAngle > foamyHexMeshControls().maxQuadAngle()) + if (totalAngle > foamyHexMeshControls_.maxQuadAngle()) { // Add additional mitreing points //scalar angleSign = 1.0; @@ -751,6 +752,7 @@ bool Foam::conformalVoronoiMesh::createSpecialisedFeaturePoint Info<< "Point " << ptI << " " << indexedVertexEnum::vertexTypeNames_[pts[ptI].type()] << " : "; + meshTools::writeOBJ(Info, topoint(pts[ptI].point())); } } diff --git a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/featurePointConformer/pointFeatureEdgesTypes.C b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/featurePointConformer/pointFeatureEdgesTypes.C new file mode 100644 index 0000000000000000000000000000000000000000..795922cb4e7b40fa95f34772970321609e964fe4 --- /dev/null +++ b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/featurePointConformer/pointFeatureEdgesTypes.C @@ -0,0 +1,101 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / 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 <http://www.gnu.org/licenses/>. + +\*---------------------------------------------------------------------------*/ + +#include "pointFeatureEdgesTypes.H" + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +Foam::pointFeatureEdgesTypes::pointFeatureEdgesTypes +( + const extendedFeatureEdgeMesh& feMesh, + const label pointLabel +) +: + HashTable<label, extendedFeatureEdgeMesh::edgeStatus>(), + feMesh_(feMesh), + pointLabel_(pointLabel) +{} + + +// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // + +Foam::pointFeatureEdgesTypes::~pointFeatureEdgesTypes() +{} + + +// * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * // + +Foam::List<Foam::extendedFeatureEdgeMesh::edgeStatus> +Foam::pointFeatureEdgesTypes::calcPointFeatureEdgesTypes() +{ + const labelList& pEds = feMesh_.pointEdges()[pointLabel_]; + + List<extendedFeatureEdgeMesh::edgeStatus> allEdStat(pEds.size()); + + forAll(pEds, i) + { + label edgeI = pEds[i]; + + extendedFeatureEdgeMesh::edgeStatus& eS = allEdStat[i]; + + eS = feMesh_.getEdgeStatus(edgeI); + + this->operator()(eS)++; + } + + return allEdStat; +} + + +// * * * * * * * * * * * * * * Friend Functions * * * * * * * * * * * * * * // + +Foam::Ostream& Foam::operator<< +( + Ostream& os, + const pointFeatureEdgesTypes& p +) +{ + os << "Point = " << p.pointLabel_ << endl; + + for + ( + HashTable<label, extendedFeatureEdgeMesh::edgeStatus> + ::const_iterator iter = p.cbegin(); + iter != p.cend(); + ++iter + ) + { + os << " " + << extendedFeatureEdgeMesh::edgeStatusNames_[iter.key()] + << " = " + << iter() + << endl; + } + + return os; +} + + +// ************************************************************************* // diff --git a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/pointFeatureEdgesTypes.H b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/featurePointConformer/pointFeatureEdgesTypes.H similarity index 70% rename from applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/pointFeatureEdgesTypes.H rename to applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/featurePointConformer/pointFeatureEdgesTypes.H index 4277f0d3b78acf546414814c0865a533cac26214..a7bfb723cab92895d272166971b90119f5f8b5f0 100644 --- a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/pointFeatureEdgesTypes.H +++ b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/featurePointConformer/pointFeatureEdgesTypes.H @@ -27,11 +27,18 @@ Class Description Holds information on the types of feature edges attached to feature points. +SourceFiles + pointFeatureEdgesTypes.C + \*---------------------------------------------------------------------------*/ #ifndef pointFeatureEdgesTypes_H #define pointFeatureEdgesTypes_H +#include "HashTable.H" +#include "extendedFeatureEdgeMesh.H" +#include "List.H" + // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // namespace Foam @@ -46,38 +53,45 @@ class pointFeatureEdgesTypes : public HashTable<label, extendedFeatureEdgeMesh::edgeStatus> { - label pointLabel_; + // Private data + + //- Reference to the feature edge mesh + const extendedFeatureEdgeMesh& feMesh_; + + //- label of the point + label pointLabel_; + public: - pointFeatureEdgesTypes(const label pointLabel) - : - HashTable<label, extendedFeatureEdgeMesh::edgeStatus>(), - pointLabel_(pointLabel) - {} + // Constructors + + //- Construct from components + pointFeatureEdgesTypes + ( + const extendedFeatureEdgeMesh& feMesh, + const label pointLabel + ); + + + //- Destructor + ~pointFeatureEdgesTypes(); + + + // Member Functions + + //- Fill the pointFeatureEdgesType class with the types of feature + // edges that are attached to the point. + List<extendedFeatureEdgeMesh::edgeStatus> calcPointFeatureEdgesTypes(); - friend Ostream& operator<<(Ostream& os, const pointFeatureEdgesTypes& p) - { - os << "Point = " << p.pointLabel_ << endl; + // Info - for + friend Ostream& operator<< ( - HashTable<label, extendedFeatureEdgeMesh::edgeStatus> - ::const_iterator iter = p.cbegin(); - iter != p.cend(); - ++iter - ) - { - os << " " - << extendedFeatureEdgeMesh::edgeStatusNames_[iter.key()] - << " = " - << iter() - << endl; - } - - return os; - } + Ostream& os, + const pointFeatureEdgesTypes& p + ); }; diff --git a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/indexedCell/indexedCell.H b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/indexedCell/indexedCell.H index c53cd3885712d972e0a3cb986f1e5c487e542f87..7a95b036a9188f5676b3c6bb9535b633f2e4116c 100644 --- a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/indexedCell/indexedCell.H +++ b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/indexedCell/indexedCell.H @@ -189,11 +189,6 @@ public: //- Does the Dual vertex form part of a processor patch inline bool parallelDualVertex() const; - //- Does the Dual vertex form part of a processor patch - inline Foam::label dualVertexMasterProc() const; - - inline Foam::FixedList<Foam::label, 4> processorsAttached() const; - //- Using the globalIndex object, return a list of four (sorted) global // Delaunay vertex indices that uniquely identify this tet in parallel inline Foam::tetCell vertexGlobalIndices diff --git a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/indexedCell/indexedCellI.H b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/indexedCell/indexedCellI.H index a812fe466455221b262f56ce17a8185d7383ee45..8e035dbc7bdfcfab2b73d638d3aa9f937b34722d 100644 --- a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/indexedCell/indexedCellI.H +++ b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/indexedCell/indexedCellI.H @@ -265,60 +265,6 @@ inline bool CGAL::indexedCell<Gt, Cb>::parallelDualVertex() const } -template<class Gt, class Cb> -inline Foam::label CGAL::indexedCell<Gt, Cb>::dualVertexMasterProc() const -{ - if (!parallelDualVertex()) - { - return -1; - } - - // The master processor is the lowest numbered of the four on this tet. - - int masterProc = Foam::Pstream::nProcs() + 1; - - for (int i = 0; i < 4; i++) - { - if (this->vertex(i)->referred()) - { - masterProc = min(masterProc, this->vertex(i)->procIndex()); - } - else - { - masterProc = min(masterProc, Foam::Pstream::myProcNo()); - } - } - - return masterProc; -} - - -template<class Gt, class Cb> -inline Foam::FixedList<Foam::label, 4> -CGAL::indexedCell<Gt, Cb>::processorsAttached() const -{ - if (!parallelDualVertex()) - { - return Foam::FixedList<Foam::label, 4>(Foam::Pstream::myProcNo()); - } - - Foam::FixedList<Foam::label, 4> procsAttached - ( - Foam::Pstream::myProcNo() - ); - - for (int i = 0; i < 4; i++) - { - if (this->vertex(i)->referred()) - { - procsAttached[i] = this->vertex(i)->procIndex(); - } - } - - return procsAttached; -} - - template<class Gt, class Cb> inline Foam::tetCell CGAL::indexedCell<Gt, Cb>::vertexGlobalIndices ( diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/conductivityModel/Syamlal/SyamlalConductivity.H b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/indexedCell/indexedCellOps.H similarity index 63% rename from applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/conductivityModel/Syamlal/SyamlalConductivity.H rename to applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/indexedCell/indexedCellOps.H index 9881987d705d7cc32e92113062b117ddc3b9a70b..4284c2d41beb0d906bcaf585e474c5095712ca88 100644 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/conductivityModel/Syamlal/SyamlalConductivity.H +++ b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/indexedCell/indexedCellOps.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2013 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -22,67 +22,52 @@ License along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. Class - Foam::SyamlalConductivity + indexedCellOps Description SourceFiles - SyamlalConductivity.C + indexedCellOpsTemplates.C \*---------------------------------------------------------------------------*/ -#ifndef SyamlalConductivity_H -#define SyamlalConductivity_H +#ifndef indexedCellOps_H +#define indexedCellOps_H -#include "conductivityModel.H" +#include "label.H" +#include "FixedList.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -namespace Foam +namespace CGAL { /*---------------------------------------------------------------------------*\ - Class SyamlalConductivity Declaration + Namespace indexedCellOps Declaration \*---------------------------------------------------------------------------*/ -class SyamlalConductivity -: - public conductivityModel +namespace indexedCellOps { -public: +//- Does the Dual vertex form part of a processor patch +template<typename CellType> +Foam::label dualVertexMasterProc(const CellType& c); - //- Runtime type information - TypeName("Syamlal"); +template<typename CellType> +Foam::FixedList<Foam::label, 4> processorsAttached(const CellType& c); +} // End namespace indexedCellOps - // Constructors - //- Construct from components - SyamlalConductivity(const dictionary& dict); - - - //- Destructor - virtual ~SyamlalConductivity(); - - - // Member Functions - - tmp<volScalarField> kappa - ( - const volScalarField& alpha1, - const volScalarField& Theta, - const volScalarField& g0, - const dimensionedScalar& rho1, - const dimensionedScalar& da, - const dimensionedScalar& e - ) const; -}; +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +} // End namespace CGAL // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -} // End namespace Foam +#ifdef NoRepository +# include "indexedCellOpsTemplates.C" +#endif // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/indexedCell/indexedCellOpsTemplates.C b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/indexedCell/indexedCellOpsTemplates.C new file mode 100644 index 0000000000000000000000000000000000000000..f5fb7f2f222ef28c4c4f756c189ef756dd29cb88 --- /dev/null +++ b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/indexedCell/indexedCellOpsTemplates.C @@ -0,0 +1,82 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / 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 <http://www.gnu.org/licenses/>. + +\*---------------------------------------------------------------------------*/ + +#include "indexedCellOps.H" +#include "Pstream.H" + +// * * * * * * * * * * * * * * * Global Functions * * * * * * * * * * * * * // + +template<typename CellType> +Foam::label CGAL::indexedCellOps::dualVertexMasterProc(const CellType& c) +{ + if (!c->parallelDualVertex()) + { + return -1; + } + + // The master processor is the lowest numbered of the four on this tet. + + int masterProc = Foam::Pstream::nProcs() + 1; + + for (Foam::label vI = 0; vI < 4; ++vI) + { + if (c->vertex(vI)->referred()) + { + masterProc = min(masterProc, c->vertex(vI)->procIndex()); + } + else + { + masterProc = min(masterProc, Foam::Pstream::myProcNo()); + } + } + + return masterProc; +} + + +template<typename CellType> +Foam::FixedList<Foam::label, 4> +CGAL::indexedCellOps::processorsAttached(const CellType& c) +{ + Foam::FixedList<Foam::label, 4> procsAttached(Foam::Pstream::myProcNo()); + + if (!c->parallelDualVertex()) + { + return procsAttached; + } + + for (Foam::label vI = 0; vI < 4; ++vI) + { + if (c->vertex(vI)->referred()) + { + procsAttached[vI] = c->vertex(vI)->procIndex(); + } + } + + return procsAttached; +} + + +// ************************************************************************* // diff --git a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/indexedVertex/indexedVertex.H b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/indexedVertex/indexedVertex.H index 73efceccd7a2ca7752c8b7414023f6eaff660c78..b556be66cc4f25d68a46555b4af186cfea4a650f 100644 --- a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/indexedVertex/indexedVertex.H +++ b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/indexedVertex/indexedVertex.H @@ -95,7 +95,7 @@ namespace CGAL { /*---------------------------------------------------------------------------*\ - Class indexedVertex Declaration + Class indexedVertex Declaration \*---------------------------------------------------------------------------*/ template<class Gt, class Vb = CGAL::Triangulation_vertex_base_3<Gt> > @@ -190,8 +190,6 @@ public: inline Foam::scalar targetCellSize() const; - inline bool uninitialised() const; - //- Is point a far-point inline bool farPoint() const; diff --git a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/indexedVertex/indexedVertexI.H b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/indexedVertex/indexedVertexI.H index 78029d12657e05ca995b23e5b7a0753b9d7b1fca..76a77da47dd19e21dde431b8361a763905d3b056 100644 --- a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/indexedVertex/indexedVertexI.H +++ b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/indexedVertex/indexedVertexI.H @@ -211,13 +211,6 @@ inline Foam::scalar CGAL::indexedVertex<Gt, Vb>::targetCellSize() const } -template<class Gt, class Vb> -inline bool CGAL::indexedVertex<Gt, Vb>::uninitialised() const -{ - return type_ == vtUnassigned; -} - - template<class Gt, class Vb> inline bool CGAL::indexedVertex<Gt, Vb>::farPoint() const { diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/interfacialModels/dragModels/SchillerNaumann/SchillerNaumann.H b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/indexedVertex/indexedVertexOps.H similarity index 64% rename from applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/interfacialModels/dragModels/SchillerNaumann/SchillerNaumann.H rename to applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/indexedVertex/indexedVertexOps.H index 90b64cf07c338a7b49379b29b7e6b6463eac690f..233cac8d213c14e9c07b38520337ebe3efcd303a 100644 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/interfacialModels/dragModels/SchillerNaumann/SchillerNaumann.H +++ b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/indexedVertex/indexedVertexOps.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2013 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -22,68 +22,53 @@ License along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. Class - Foam::dragModels::SchillerNaumann + indexedVertexOps Description SourceFiles - SchillerNaumann.C + indexedVertexOpsTemplates.C \*---------------------------------------------------------------------------*/ -#ifndef SchillerNaumann_H -#define SchillerNaumann_H +#ifndef indexedVertexOps_H +#define indexedVertexOps_H -#include "dragModel.H" +#include "scalar.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -namespace Foam -{ -namespace dragModels +namespace CGAL { /*---------------------------------------------------------------------------*\ - Class SchillerNaumann Declaration + Namespace indexedVertexOps Declaration \*---------------------------------------------------------------------------*/ -class SchillerNaumann -: - public dragModel +namespace indexedVertexOps { -public: - - //- Runtime type information - TypeName("SchillerNaumann"); - - - // Constructors +//- Return the target cell size from that stored on a pair of Delaunay vertices, +// using a mean function. +template<typename VertexType> +Foam::scalar averageCellSize(const VertexType& vA, const VertexType& vB); - //- Construct from components - SchillerNaumann - ( - const dictionary& interfaceDict, - const volScalarField& alpha1, - const phaseModel& phase1, - const phaseModel& phase2 - ); +template<typename VertexType> +inline bool uninitialised(const VertexType& v); - //- Destructor - virtual ~SchillerNaumann(); +} // End namespace indexedVertexOps - // Member Functions - - tmp<volScalarField> K(const volScalarField& Ur) const; -}; +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +} // End namespace CGAL // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -} // End namespace dragModels -} // End namespace Foam +#ifdef NoRepository +# include "indexedVertexOpsTemplates.C" +#endif // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/viscosityModel/viscosityModel/viscosityModel.C b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/indexedVertex/indexedVertexOpsTemplates.C similarity index 60% rename from applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/viscosityModel/viscosityModel/viscosityModel.C rename to applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/indexedVertex/indexedVertexOpsTemplates.C index dc4c1ca1def57e5f104082c8b2ebae7f9a55660e..55adb7cebf8d75e629b21437098a5c7fa21e0539 100644 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/viscosityModel/viscosityModel/viscosityModel.C +++ b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/indexedVertex/indexedVertexOpsTemplates.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2013 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -23,35 +23,35 @@ License \*---------------------------------------------------------------------------*/ -#include "viscosityModel.H" +#include "indexedVertexOps.H" -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // +// * * * * * * * * * * * * * * * Global Functions * * * * * * * * * * * * * // -namespace Foam -{ -namespace kineticTheoryModels -{ - defineTypeNameAndDebug(viscosityModel, 0); - defineRunTimeSelectionTable(viscosityModel, dictionary); -} -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::kineticTheoryModels::viscosityModel::viscosityModel +template<typename VertexType> +Foam::scalar CGAL::indexedVertexOps::averageCellSize ( - const dictionary& dict + const VertexType& vA, + const VertexType& vB ) -: - dict_(dict) -{} +{ + // Arithmetic mean + // return 0.5*(vA->targetCellSize() + vB->targetCellSize()); + + // Geometric mean + return sqrt(vA->targetCellSize()*vB->targetCellSize()); + // Harmonic mean + // return + // 2.0*(vA->targetCellSize()*vB->targetCellSize()) + // /(vA->targetCellSize() + vB->targetCellSize()); +} -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // -Foam::kineticTheoryModels::viscosityModel::~viscosityModel() -{} +template<typename VertexType> +inline bool CGAL::indexedVertexOps::uninitialised(const VertexType& v) +{ + return v->type() == Foam::indexedVertexEnum::vtUnassigned; +} // ************************************************************************* // diff --git a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/pointConversion.H b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/pointConversion.H index 7038fbdaef27889e00001a8eb6d13209aad48006..632270b5222529d2a3ec54b25821db78503551a9 100644 --- a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/pointConversion.H +++ b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/pointConversion.H @@ -25,8 +25,7 @@ Class pointConversion Description - - Conversion functions between point (FOAM::) and Point (CGAL) + Conversion functions between point (Foam::) and Point (CGAL::) \*---------------------------------------------------------------------------*/ @@ -61,7 +60,6 @@ namespace Foam return reinterpret_cast<pointFromPoint>(P); } - template<typename Point> inline PointFrompoint toPoint(const Foam::point& p) { return reinterpret_cast<PointFrompoint>(p); @@ -80,14 +78,33 @@ namespace Foam ); } - template<typename Point> - inline Point toPoint(const Foam::point& p) + inline PointFrompoint toPoint(const Foam::point& p) { - return Point(p.x(), p.y(), p.z()); + return PointFrompoint(p.x(), p.y(), p.z()); } #endif + //- Specialisation for indexedVertex. + template<> + inline pointFromPoint topoint<CGAL::indexedVertex<K> > + ( + const CGAL::indexedVertex<K>& P + ) + { + return topoint(P.point()); + } + + //- Specialisation for Foam::point. Used only as a dummy. + template<> + inline pointFromPoint topoint<Foam::point> + ( + const Foam::point& P + ) + { + return P; + } + // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // } // End namespace Foam diff --git a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformationSurfaces/conformationSurfaces.C b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformationSurfaces/conformationSurfaces.C index b68ee557e5ab12f3cb1ffa53d6459622deaeb497..20a8b278ebbee234255272bc079e4ad0fc4430ce 100644 --- a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformationSurfaces/conformationSurfaces.C +++ b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformationSurfaces/conformationSurfaces.C @@ -597,10 +597,11 @@ bool Foam::conformationSurfaces::outside } -Foam::Field<bool> Foam::conformationSurfaces::wellInside +Foam::Field<bool> Foam::conformationSurfaces::wellInOutSide ( const pointField& samplePts, - const scalarField& testDistSqr + const scalarField& testDistSqr, + const bool testForInside ) const { List<List<volumeType> > surfaceVolumeTests @@ -622,34 +623,7 @@ Foam::Field<bool> Foam::conformationSurfaces::wellInside if (normalVolumeTypes_[regionI] != extendedFeatureEdgeMesh::BOTH) { -// if (surface.hasVolumeType()) -// { -// List<List<pointIndexHit> > info; -// -// // Count number of intersections -// surface.findLineAll -// ( -// samplePts, -// pointField(samplePts.size(), locationInMesh()), -// info -// ); -// -// forAll(info, ptI) -// { -// if (info[ptI].size() % 2 == 0) -// { -// surfaceVolumeTests[s][ptI] = volumeType::INSIDE; -// } -// else -// { -// surfaceVolumeTests[s][ptI] = volumeType::OUTSIDE; -// } -// } -// } -// else - { - surface.getVolumeType(samplePts, surfaceVolumeTests[s]); - } + surface.getVolumeType(samplePts, surfaceVolumeTests[s]); } } @@ -658,7 +632,7 @@ Foam::Field<bool> Foam::conformationSurfaces::wellInside // distanceSquared // Assume that the point is wellInside until demonstrated otherwise. - Field<bool> insidePoint(samplePts.size(), true); + Field<bool> insideOutsidePoint(samplePts.size(), testForInside); //Check if the points are inside the surface by the given distance squared @@ -682,7 +656,7 @@ Foam::Field<bool> Foam::conformationSurfaces::wellInside { // If the point is within range of the surface, then it can't be // well (in|out)side - insidePoint[i] = false; + insideOutsidePoint[i] = false; continue; } @@ -691,31 +665,12 @@ Foam::Field<bool> Foam::conformationSurfaces::wellInside { const label regionI = regionOffset_[s]; -// const searchableSurface& surface(allGeometry_[surfaces_[s]]); - -// if -// ( -// !surface.hasVolumeType() -// //&& !surface.bounds().contains(samplePts[i]) -// ) -// { -// continue; -// } - - // If one of the pattern tests is failed, then the point cannot be - // inside, therefore, if this is a testForInside = true call, the - // result is false. If this is a testForInside = false call, then - // the result is true. if (normalVolumeTypes_[regionI] == extendedFeatureEdgeMesh::BOTH) { continue; } -// Info<< surface.name() << " = " -// << volumeType::names[surfaceVolumeTests[s][i]] << endl; - if (surfaceVolumeTests[s][i] == volumeType::OUTSIDE) -// if (surfaceVolumeTests[s][i] != volumeType::INSIDE) { if ( @@ -723,7 +678,7 @@ Foam::Field<bool> Foam::conformationSurfaces::wellInside == extendedFeatureEdgeMesh::INSIDE ) { - insidePoint[i] = false; + insideOutsidePoint[i] = !testForInside; break; } } @@ -735,16 +690,62 @@ Foam::Field<bool> Foam::conformationSurfaces::wellInside == extendedFeatureEdgeMesh::OUTSIDE ) { - insidePoint[i] = false; + insideOutsidePoint[i] = !testForInside; break; } } +// else +// { +// // Surface volume type is unknown +// Info<< "UNKNOWN" << endl; +// // Get nearest face normal +// +// pointField sample(1, samplePts[i]); +// scalarField nearestDistSqr(1, GREAT); +// List<pointIndexHit> info; +// vectorField norms(1); +// +// surface.findNearest(sample, nearestDistSqr, info); +// surface.getNormal(info, norms); +// +// vector fN = norms[0]; +// fN /= mag(fN); +// +// vector hitDir = info[0].rawPoint() - samplePts[i]; +// hitDir /= mag(hitDir); +// +// if ((fN & hitDir) < 0) +// { +// // Point is OUTSIDE +// +// if +// ( +// normalVolumeTypes_[regionI] +// == extendedFeatureEdgeMesh::OUTSIDE +// ) +// { +// } +// else +// { +// insidePoint[i] = false; +// break; +// } +// } +// } } } - return insidePoint; + return insideOutsidePoint; +} + - //return wellInOutSide(samplePts, testDistSqr, true); +Foam::Field<bool> Foam::conformationSurfaces::wellInside +( + const pointField& samplePts, + const scalarField& testDistSqr +) const +{ + return wellInOutSide(samplePts, testDistSqr, true); } @@ -764,122 +765,7 @@ Foam::Field<bool> Foam::conformationSurfaces::wellOutside const scalarField& testDistSqr ) const { - // First check if it is outside any closed surface - - List<List<volumeType> > surfaceVolumeTests - ( - surfaces_.size(), - List<volumeType> - ( - samplePts.size(), - volumeType::UNKNOWN - ) - ); - - // Get lists for the volumeTypes for each sample wrt each surface - forAll(surfaces_, s) - { - const searchableSurface& surface(allGeometry_[surfaces_[s]]); - - const label regionI = regionOffset_[s]; - - if (normalVolumeTypes_[regionI] != extendedFeatureEdgeMesh::BOTH) - { - surface.getVolumeType(samplePts, surfaceVolumeTests[s]); - } - } - - // Compare the volumeType result for each point wrt to each surface with the - // reference value and if the points are inside the surface by a given - // distanceSquared - - // Assume that the point is wellInside until demonstrated otherwise. - Field<bool> outsidePoint(samplePts.size(), false); - - //Check if the points are inside the surface by the given distance squared - - labelList hitSurfaces; - List<pointIndexHit> hitInfo; - searchableSurfacesQueries::findNearest - ( - allGeometry_, - surfaces_, - samplePts, - testDistSqr, - hitSurfaces, - hitInfo - ); - - forAll(samplePts, i) - { - const pointIndexHit& pHit = hitInfo[i]; - - if (pHit.hit()) - { - // If the point is within range of the surface, then it can't be - // well (in|out)side - outsidePoint[i] = false; - //continue; - } - - forAll(surfaces_, s) - { - const searchableSurface& surface(allGeometry_[surfaces_[s]]); - -// if -// ( -// !surface.hasVolumeType() -// //&& !surface.bounds().contains(samplePts[i]) -// ) -// { -// continue; -// } - - const label regionI = regionOffset_[s]; - -// Info<< s << " " << surfaces_[s] << " " << surface.name() << " " -// << normalVolumeTypes_[regionI] << " " -// << surfaceVolumeTests[s][i] << endl; - - // If one of the pattern tests is failed, then the point cannot be - // inside, therefore, if this is a testForInside = true call, the - // result is false. If this is a testForInside = false call, then - // the result is true. - if (normalVolumeTypes_[regionI] == extendedFeatureEdgeMesh::BOTH) - { - continue; - } - - if (surfaceVolumeTests[s][i] == volumeType::OUTSIDE) - { - if - ( - normalVolumeTypes_[regionI] - == extendedFeatureEdgeMesh::INSIDE - ) - { - outsidePoint[i] = true; - break; - } - } - else if (surfaceVolumeTests[s][i] == volumeType::INSIDE) - { - if - ( - normalVolumeTypes_[regionI] - == extendedFeatureEdgeMesh::OUTSIDE - ) - { - outsidePoint[i] = true; - break; - } - } - } - } - - return outsidePoint; - - //return wellInOutSide(samplePts, testDistSqr, false); + return wellInOutSide(samplePts, testDistSqr, false); } diff --git a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformationSurfaces/conformationSurfaces.H b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformationSurfaces/conformationSurfaces.H index 377d031f17b19ff880d33db68004152b411e8b15..04013add369f64934c97ec21816391b56c35681a 100644 --- a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformationSurfaces/conformationSurfaces.H +++ b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformationSurfaces/conformationSurfaces.H @@ -198,12 +198,12 @@ public: //- Check if point is closer to the surfaces to conform to than // testDistSqr, in which case return false, otherwise assess in or // outside and return a result depending on the testForInside flag -// Field<bool> wellInOutSide -// ( -// const pointField& samplePts, -// const scalarField& testDistSqr, -// bool testForInside -// ) const; + Field<bool> wellInOutSide + ( + const pointField& samplePts, + const scalarField& testDistSqr, + bool testForInside + ) const; //- Check if point is inside surfaces to conform to by at least // testDistSqr diff --git a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/initialPointsMethod/autoDensity/autoDensity.C b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/initialPointsMethod/autoDensity/autoDensity.C index f128b26e8a3478508baeea2418e731022e939a5d..5649e61480b80a056a7ec68e0054bd0453ee063f 100644 --- a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/initialPointsMethod/autoDensity/autoDensity.C +++ b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/initialPointsMethod/autoDensity/autoDensity.C @@ -49,7 +49,7 @@ void Foam::autoDensity::writeOBJ fileName name ) const { - OFstream str(foamyHexMesh_.time().path()/name + ".obj"); + OFstream str(time().path()/name + ".obj"); Pout<< "Writing " << str.name() << endl; @@ -74,11 +74,11 @@ bool Foam::autoDensity::combinedOverlaps(const treeBoundBox& box) const if (Pstream::parRun()) { return - foamyHexMesh_.decomposition().overlapsThisProcessor(box) - || foamyHexMesh_.geometryToConformTo().overlaps(box); + decomposition().overlapsThisProcessor(box) + || geometryToConformTo().overlaps(box); } - return foamyHexMesh_.geometryToConformTo().overlaps(box); + return geometryToConformTo().overlaps(box); } @@ -87,11 +87,11 @@ bool Foam::autoDensity::combinedInside(const point& p) const if (Pstream::parRun()) { return - foamyHexMesh_.decomposition().positionOnThisProcessor(p) - && foamyHexMesh_.geometryToConformTo().inside(p); + decomposition().positionOnThisProcessor(p) + && geometryToConformTo().inside(p); } - return foamyHexMesh_.geometryToConformTo().inside(p); + return geometryToConformTo().inside(p); } @@ -103,7 +103,7 @@ Foam::Field<bool> Foam::autoDensity::combinedWellInside { if (!Pstream::parRun()) { - return foamyHexMesh_.geometryToConformTo().wellInside + return geometryToConformTo().wellInside ( pts, minimumSurfaceDistanceCoeffSqr_*sqr(sizes) @@ -117,7 +117,7 @@ Foam::Field<bool> Foam::autoDensity::combinedWellInside Field<bool> insideA ( - foamyHexMesh_.geometryToConformTo().wellInside + geometryToConformTo().wellInside ( pts, minimumSurfaceDistanceCoeffSqr_*sqr(sizes) @@ -126,7 +126,7 @@ Foam::Field<bool> Foam::autoDensity::combinedWellInside Field<bool> insideB ( - foamyHexMesh_.decomposition().positionOnThisProcessor(pts) + decomposition().positionOnThisProcessor(pts) ); // inside = insideA && insideB; @@ -162,14 +162,14 @@ bool Foam::autoDensity::combinedWellInside if (Pstream::parRun()) { - inside = foamyHexMesh_.decomposition().positionOnThisProcessor(p); + inside = decomposition().positionOnThisProcessor(p); } // Perform AND operation between testing the surfaces and the previous // result, i.e the parallel result, or in serial, with true. inside = inside - && foamyHexMesh_.geometryToConformTo().wellInside + && geometryToConformTo().wellInside ( p, minimumSurfaceDistanceCoeffSqr_*sqr(size) @@ -179,7 +179,7 @@ bool Foam::autoDensity::combinedWellInside } -void Foam::autoDensity::recurseAndFill +Foam::label Foam::autoDensity::recurseAndFill ( DynamicList<Vb::Point>& initialPoints, const treeBoundBox& bb, @@ -187,25 +187,32 @@ void Foam::autoDensity::recurseAndFill word recursionName ) const { + label maxDepth = 0; + for (direction i = 0; i < 8; i++) { treeBoundBox subBB = bb.subBbox(i); word newName = recursionName + "_" + Foam::name(i); - conformalVoronoiMesh::timeCheck(foamyHexMesh_.time(), newName, debug); + conformalVoronoiMesh::timeCheck(time(), newName, debug); if (combinedOverlaps(subBB)) { if (levelLimit > 0) { - recurseAndFill - ( - initialPoints, - subBB, - levelLimit - 1, - newName - ); + maxDepth = + max + ( + maxDepth, + recurseAndFill + ( + initialPoints, + subBB, + levelLimit - 1, + newName + ) + ); } else { @@ -222,13 +229,18 @@ void Foam::autoDensity::recurseAndFill if (!fillBox(initialPoints, subBB, true)) { - recurseAndFill - ( - initialPoints, - subBB, - levelLimit - 1, - newName - ); + maxDepth = + max + ( + maxDepth, + recurseAndFill + ( + initialPoints, + subBB, + levelLimit - 1, + newName + ) + ); } } } @@ -247,13 +259,18 @@ void Foam::autoDensity::recurseAndFill if (!fillBox(initialPoints, subBB, false)) { - recurseAndFill - ( - initialPoints, - subBB, - levelLimit - 1, - newName - ); + maxDepth = + max + ( + maxDepth, + recurseAndFill + ( + initialPoints, + subBB, + levelLimit - 1, + newName + ) + ); } } else @@ -268,6 +285,8 @@ void Foam::autoDensity::recurseAndFill } } } + + return maxDepth + 1; } @@ -278,9 +297,7 @@ bool Foam::autoDensity::fillBox bool overlapping ) const { - const conformationSurfaces& geometry(foamyHexMesh_.geometryToConformTo()); - - Random& rnd = foamyHexMesh_.rndGen(); + const conformationSurfaces& geometry = geometryToConformTo(); unsigned int initialSize = initialPoints.size(); @@ -333,15 +350,14 @@ bool Foam::autoDensity::fillBox if (!overlapping && !wellInside) { - // If this is an inside box then then it is possible to fill points very + // If this is an inside box then it is possible to fill points very // close to the boundary, to prevent this, check the corners and sides // of the box so ensure that they are "wellInside". If not, set as an // overlapping box. pointField corners(bb.points()); - scalarField cornerSizes = - foamyHexMesh_.cellShapeControls().cellSize(corners); + scalarField cornerSizes = cellShapeControls().cellSize(corners); Field<bool> insideCorners = combinedWellInside(corners, cornerSizes); @@ -450,8 +466,7 @@ bool Foam::autoDensity::fillBox ); } - lineSizes = - foamyHexMesh_.cellShapeControls().cellSize(linePoints); + lineSizes = cellShapeControls().cellSize(linePoints); Field<bool> insideLines = combinedWellInside ( @@ -537,9 +552,12 @@ bool Foam::autoDensity::fillBox min + vector ( - delta.x()*(i + 0.5 + 0.1*(rnd.scalar01() - 0.5)), - delta.y()*(j + 0.5 + 0.1*(rnd.scalar01() - 0.5)), - delta.z()*(k + 0.5 + 0.1*(rnd.scalar01() - 0.5)) + delta.x() + *(i + 0.5 + 0.1*(rndGen().scalar01() - 0.5)), + delta.y() + *(j + 0.5 + 0.1*(rndGen().scalar01() - 0.5)), + delta.z() + *(k + 0.5 + 0.1*(rndGen().scalar01() - 0.5)) ); } } @@ -550,10 +568,7 @@ bool Foam::autoDensity::fillBox // corner when only some these points are required. shuffle(samplePoints); - scalarField sampleSizes = foamyHexMesh_.cellShapeControls().cellSize - ( - samplePoints - ); + scalarField sampleSizes = cellShapeControls().cellSize(samplePoints); Field<bool> insidePoints = combinedWellInside ( @@ -632,7 +647,7 @@ bool Foam::autoDensity::fillBox { trialPoints++; - point p = samplePoints[i]; + const point& p = samplePoints[i]; scalar localSize = sampleSizes[i]; @@ -647,7 +662,7 @@ bool Foam::autoDensity::fillBox // TODO - is there a lot of cost in the 1/density calc? Could // assess on // (1/maxDensity)/(1/localDensity) = minVolume/localVolume - if (localDensity/maxDensity > rnd.scalar01()) + if (localDensity/maxDensity > rndGen().scalar01()) { scalar localVolume = 1/localDensity; @@ -660,7 +675,7 @@ bool Foam::autoDensity::fillBox scalar addProbability = (totalVolume - volumeAdded)/localVolume; - scalar r = rnd.scalar01(); + scalar r = rndGen().scalar01(); if (debug) { @@ -714,9 +729,9 @@ bool Foam::autoDensity::fillBox { trialPoints++; - point p = min + cmptMultiply(span, rnd.vector01()); + point p = min + cmptMultiply(span, rndGen().vector01()); - scalar localSize = foamyHexMesh_.cellShapeControls().cellSize(p); + scalar localSize = cellShapeControls().cellSize(p); bool insidePoint = false; @@ -770,7 +785,7 @@ bool Foam::autoDensity::fillBox // Accept possible placements proportional to the relative local // density - if (localDensity/maxDensity > rnd.scalar01()) + if (localDensity/maxDensity > rndGen().scalar01()) { scalar localVolume = 1/localDensity; @@ -783,7 +798,7 @@ bool Foam::autoDensity::fillBox scalar addProbability = (totalVolume - volumeAdded)/localVolume; - scalar r = rnd.scalar01(); + scalar r = rndGen().scalar01(); if (debug) { @@ -847,10 +862,23 @@ bool Foam::autoDensity::fillBox autoDensity::autoDensity ( const dictionary& initialPointsDict, - const conformalVoronoiMesh& foamyHexMesh + const Time& runTime, + Random& rndGen, + const conformationSurfaces& geometryToConformTo, + const cellShapeControl& cellShapeControls, + const autoPtr<backgroundMeshDecomposition>& decomposition ) : - initialPointsMethod(typeName, initialPointsDict, foamyHexMesh), + initialPointsMethod + ( + typeName, + initialPointsDict, + runTime, + rndGen, + geometryToConformTo, + cellShapeControls, + decomposition + ), globalTrialPoints_(0), minCellSizeLimit_ ( @@ -875,8 +903,7 @@ autoDensity::autoDensity "const dictionary& initialPointsDict," "const conformalVoronoiMesh& foamyHexMesh" ")" - ) - << "The maxSizeRatio must be greater than one to be sensible, " + ) << "The maxSizeRatio must be greater than one to be sensible, " << "setting to " << maxSizeRatio_ << endl; } @@ -893,14 +920,14 @@ List<Vb::Point> autoDensity::initialPoints() const // on whether this is a parallel run. if (Pstream::parRun()) { - hierBB = foamyHexMesh_.decomposition().procBounds(); + hierBB = decomposition().procBounds(); } else { // Extend the global box to move it off large plane surfaces - hierBB = foamyHexMesh_.geometryToConformTo().globalBounds().extend + hierBB = geometryToConformTo().globalBounds().extend ( - foamyHexMesh_.rndGen(), + rndGen(), 1e-6 ); } @@ -914,7 +941,7 @@ List<Vb::Point> autoDensity::initialPoints() const Pout<< " Filling box " << hierBB << endl; } - recurseAndFill + label maxDepth = recurseAndFill ( initialPoints, hierBB, @@ -932,11 +959,16 @@ List<Vb::Point> autoDensity::initialPoints() const reduce(globalTrialPoints_, sumOp<label>()); } - Info<< " " << nInitialPoints << " points placed" << nl - << " " << globalTrialPoints_ << " locations queried" << nl - << " " + Info<< incrIndent << incrIndent + << indent << nInitialPoints << " points placed" << nl + << indent << globalTrialPoints_ << " locations queried" << nl + << indent << scalar(nInitialPoints)/scalar(max(globalTrialPoints_, 1)) - << " success rate" + << " success rate" << nl + << indent + << returnReduce(maxDepth, maxOp<label>()) + << " levels of recursion (maximum)" + << decrIndent << decrIndent << endl; return initialPoints; diff --git a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/initialPointsMethod/autoDensity/autoDensity.H b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/initialPointsMethod/autoDensity/autoDensity.H index 6a547be49e29de02eb08ba998623d6f1f9d4134e..35be0c8991dcece6f209895d52ce23b15f17b393 100644 --- a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/initialPointsMethod/autoDensity/autoDensity.H +++ b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/initialPointsMethod/autoDensity/autoDensity.H @@ -114,7 +114,7 @@ private: ) const; //- Descend into octants of the supplied bound box - void recurseAndFill + label recurseAndFill ( DynamicList<Vb::Point>& initialPoints, const treeBoundBox& bb, @@ -144,7 +144,11 @@ public: autoDensity ( const dictionary& initialPointsDict, - const conformalVoronoiMesh& foamyHexMesh + const Time& runTime, + Random& rndGen, + const conformationSurfaces& geometryToConformTo, + const cellShapeControl& cellShapeControls, + const autoPtr<backgroundMeshDecomposition>& decomposition ); diff --git a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/initialPointsMethod/bodyCentredCubic/bodyCentredCubic.C b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/initialPointsMethod/bodyCentredCubic/bodyCentredCubic.C index 7237d2980a84f040e9d60f7d5c66b4b11bdc1692..e814193fb7fe4f0ec63aa0db2dc2edda67a16f73 100644 --- a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/initialPointsMethod/bodyCentredCubic/bodyCentredCubic.C +++ b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/initialPointsMethod/bodyCentredCubic/bodyCentredCubic.C @@ -41,10 +41,23 @@ addToRunTimeSelectionTable(initialPointsMethod, bodyCentredCubic, dictionary); bodyCentredCubic::bodyCentredCubic ( const dictionary& initialPointsDict, - const conformalVoronoiMesh& foamyHexMesh + const Time& runTime, + Random& rndGen, + const conformationSurfaces& geometryToConformTo, + const cellShapeControl& cellShapeControls, + const autoPtr<backgroundMeshDecomposition>& decomposition ) : - initialPointsMethod(typeName, initialPointsDict, foamyHexMesh), + initialPointsMethod + ( + typeName, + initialPointsDict, + runTime, + rndGen, + geometryToConformTo, + cellShapeControls, + decomposition + ), initialCellSize_(readScalar(detailsDict().lookup("initialCellSize"))), randomiseInitialGrid_(detailsDict().lookup("randomiseInitialGrid")), randomPerturbationCoeff_ @@ -64,11 +77,11 @@ List<Vb::Point> bodyCentredCubic::initialPoints() const // on whether this is a parallel run. if (Pstream::parRun()) { - bb = foamyHexMesh_.decomposition().procBounds(); + bb = decomposition().procBounds(); } else { - bb = foamyHexMesh_.geometryToConformTo().globalBounds(); + bb = geometryToConformTo().globalBounds(); } scalar x0 = bb.min().x(); @@ -87,8 +100,6 @@ List<Vb::Point> bodyCentredCubic::initialPoints() const delta *= pow((1.0/2.0),-(1.0/3.0)); - Random& rndGen = foamyHexMesh_.rndGen(); - scalar pert = randomPerturbationCoeff_*cmptMin(delta); DynamicList<Vb::Point> initialPoints(ni*nj*nk/10); @@ -118,17 +129,14 @@ List<Vb::Point> bodyCentredCubic::initialPoints() const if (randomiseInitialGrid_) { - pA.x() += pert*(rndGen.scalar01() - 0.5); - pA.y() += pert*(rndGen.scalar01() - 0.5); - pA.z() += pert*(rndGen.scalar01() - 0.5); + pA.x() += pert*(rndGen().scalar01() - 0.5); + pA.y() += pert*(rndGen().scalar01() - 0.5); + pA.z() += pert*(rndGen().scalar01() - 0.5); } - const backgroundMeshDecomposition& decomp = - foamyHexMesh_.decomposition(); - if (Pstream::parRun()) { - if (decomp.positionOnThisProcessor(pA)) + if (decomposition().positionOnThisProcessor(pA)) { // Add this point in parallel only if this position is // on this processor. @@ -142,14 +150,14 @@ List<Vb::Point> bodyCentredCubic::initialPoints() const if (randomiseInitialGrid_) { - pB.x() += pert*(rndGen.scalar01() - 0.5); - pB.y() += pert*(rndGen.scalar01() - 0.5); - pB.z() += pert*(rndGen.scalar01() - 0.5); + pB.x() += pert*(rndGen().scalar01() - 0.5); + pB.y() += pert*(rndGen().scalar01() - 0.5); + pB.z() += pert*(rndGen().scalar01() - 0.5); } if (Pstream::parRun()) { - if (decomp.positionOnThisProcessor(pB)) + if (decomposition().positionOnThisProcessor(pB)) { // Add this point in parallel only if this position is // on this processor. @@ -165,14 +173,11 @@ List<Vb::Point> bodyCentredCubic::initialPoints() const points.setSize(pI); Field<bool> insidePoints = - foamyHexMesh_.geometryToConformTo().wellInside + geometryToConformTo().wellInside ( points, minimumSurfaceDistanceCoeffSqr_ - *sqr - ( - foamyHexMesh_.cellShapeControls().cellSize(points) - ) + *sqr(cellShapeControls().cellSize(points)) ); forAll(insidePoints, i) diff --git a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/initialPointsMethod/bodyCentredCubic/bodyCentredCubic.H b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/initialPointsMethod/bodyCentredCubic/bodyCentredCubic.H index 507c718bb6c95391f9c62cc4464710bc16596f6f..a52924385a1980e8c2d1ef54a1c586cdc1cc8469 100644 --- a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/initialPointsMethod/bodyCentredCubic/bodyCentredCubic.H +++ b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/initialPointsMethod/bodyCentredCubic/bodyCentredCubic.H @@ -77,7 +77,11 @@ public: bodyCentredCubic ( const dictionary& initialPointsDict, - const conformalVoronoiMesh& foamyHexMesh + const Time& runTime, + Random& rndGen, + const conformationSurfaces& geometryToConformTo, + const cellShapeControl& cellShapeControls, + const autoPtr<backgroundMeshDecomposition>& decomposition ); diff --git a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/initialPointsMethod/faceCentredCubic/faceCentredCubic.C b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/initialPointsMethod/faceCentredCubic/faceCentredCubic.C index 9a6642170dd072ba6619f666e57de41a897c8754..a9f96cfc599dc2bd670270ad8380dcac9aab1f6a 100644 --- a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/initialPointsMethod/faceCentredCubic/faceCentredCubic.C +++ b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/initialPointsMethod/faceCentredCubic/faceCentredCubic.C @@ -41,10 +41,23 @@ addToRunTimeSelectionTable(initialPointsMethod, faceCentredCubic, dictionary); faceCentredCubic::faceCentredCubic ( const dictionary& initialPointsDict, - const conformalVoronoiMesh& foamyHexMesh + const Time& runTime, + Random& rndGen, + const conformationSurfaces& geometryToConformTo, + const cellShapeControl& cellShapeControls, + const autoPtr<backgroundMeshDecomposition>& decomposition ) : - initialPointsMethod(typeName, initialPointsDict, foamyHexMesh), + initialPointsMethod + ( + typeName, + initialPointsDict, + runTime, + rndGen, + geometryToConformTo, + cellShapeControls, + decomposition + ), initialCellSize_(readScalar(detailsDict().lookup("initialCellSize"))), randomiseInitialGrid_(detailsDict().lookup("randomiseInitialGrid")), randomPerturbationCoeff_ @@ -64,11 +77,11 @@ List<Vb::Point> faceCentredCubic::initialPoints() const // on whether this is a parallel run. if (Pstream::parRun()) { - bb = foamyHexMesh_.decomposition().procBounds(); + bb = decomposition().procBounds(); } else { - bb = foamyHexMesh_.geometryToConformTo().globalBounds(); + bb = geometryToConformTo().globalBounds(); } scalar x0 = bb.min().x(); @@ -87,8 +100,6 @@ List<Vb::Point> faceCentredCubic::initialPoints() const delta *= pow((1.0/4.0),-(1.0/3.0)); - Random& rndGen = foamyHexMesh_.rndGen(); - scalar pert = randomPerturbationCoeff_*cmptMin(delta); DynamicList<Vb::Point> initialPoints(ni*nj*nk/10); @@ -116,17 +127,14 @@ List<Vb::Point> faceCentredCubic::initialPoints() const if (randomiseInitialGrid_) { - p.x() += pert*(rndGen.scalar01() - 0.5); - p.y() += pert*(rndGen.scalar01() - 0.5); - p.z() += pert*(rndGen.scalar01() - 0.5); + p.x() += pert*(rndGen().scalar01() - 0.5); + p.y() += pert*(rndGen().scalar01() - 0.5); + p.z() += pert*(rndGen().scalar01() - 0.5); } - const backgroundMeshDecomposition& decomp = - foamyHexMesh_.decomposition(); - if (Pstream::parRun()) { - if (decomp.positionOnThisProcessor(p)) + if (decomposition().positionOnThisProcessor(p)) { // Add this point in parallel only if this position is // on this processor. @@ -147,14 +155,14 @@ List<Vb::Point> faceCentredCubic::initialPoints() const if (randomiseInitialGrid_) { - p.x() += pert*(rndGen.scalar01() - 0.5); - p.y() += pert*(rndGen.scalar01() - 0.5); - p.z() += pert*(rndGen.scalar01() - 0.5); + p.x() += pert*(rndGen().scalar01() - 0.5); + p.y() += pert*(rndGen().scalar01() - 0.5); + p.z() += pert*(rndGen().scalar01() - 0.5); } if (Pstream::parRun()) { - if (decomp.positionOnThisProcessor(p)) + if (decomposition().positionOnThisProcessor(p)) { // Add this point in parallel only if this position is // on this processor. @@ -175,14 +183,14 @@ List<Vb::Point> faceCentredCubic::initialPoints() const if (randomiseInitialGrid_) { - p.x() += pert*(rndGen.scalar01() - 0.5); - p.y() += pert*(rndGen.scalar01() - 0.5); - p.z() += pert*(rndGen.scalar01() - 0.5); + p.x() += pert*(rndGen().scalar01() - 0.5); + p.y() += pert*(rndGen().scalar01() - 0.5); + p.z() += pert*(rndGen().scalar01() - 0.5); } if (Pstream::parRun()) { - if (decomp.positionOnThisProcessor(p)) + if (decomposition().positionOnThisProcessor(p)) { // Add this point in parallel only if this position is // on this processor. @@ -203,14 +211,14 @@ List<Vb::Point> faceCentredCubic::initialPoints() const if (randomiseInitialGrid_) { - p.x() += pert*(rndGen.scalar01() - 0.5); - p.y() += pert*(rndGen.scalar01() - 0.5); - p.z() += pert*(rndGen.scalar01() - 0.5); + p.x() += pert*(rndGen().scalar01() - 0.5); + p.y() += pert*(rndGen().scalar01() - 0.5); + p.z() += pert*(rndGen().scalar01() - 0.5); } if (Pstream::parRun()) { - if (decomp.positionOnThisProcessor(p)) + if (decomposition().positionOnThisProcessor(p)) { // Add this point in parallel only if this position is // on this processor. @@ -226,14 +234,11 @@ List<Vb::Point> faceCentredCubic::initialPoints() const points.setSize(pI); Field<bool> insidePoints = - foamyHexMesh_.geometryToConformTo().wellInside + geometryToConformTo().wellInside ( points, minimumSurfaceDistanceCoeffSqr_ - *sqr - ( - foamyHexMesh_.cellShapeControls().cellSize(points) - ) + *sqr(cellShapeControls().cellSize(points)) ); forAll(insidePoints, i) diff --git a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/initialPointsMethod/faceCentredCubic/faceCentredCubic.H b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/initialPointsMethod/faceCentredCubic/faceCentredCubic.H index 9a426c46666a04d1fa8d0eb6c94d3202b589e968..ca7d921087759c66aa7984dc77f4017405cc7c6c 100644 --- a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/initialPointsMethod/faceCentredCubic/faceCentredCubic.H +++ b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/initialPointsMethod/faceCentredCubic/faceCentredCubic.H @@ -77,7 +77,11 @@ public: faceCentredCubic ( const dictionary& initialPointsDict, - const conformalVoronoiMesh& foamyHexMesh + const Time& runTime, + Random& rndGen, + const conformationSurfaces& geometryToConformTo, + const cellShapeControl& cellShapeControls, + const autoPtr<backgroundMeshDecomposition>& decomposition ); diff --git a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/initialPointsMethod/initialPointsMethod/initialPointsMethod.C b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/initialPointsMethod/initialPointsMethod/initialPointsMethod.C index f85d23865f6e8af962a8cd3da139c266b9dc3aa1..c8a8261a40265bf22f83b63992671d7d674f2e84 100644 --- a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/initialPointsMethod/initialPointsMethod/initialPointsMethod.C +++ b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/initialPointsMethod/initialPointsMethod/initialPointsMethod.C @@ -43,11 +43,19 @@ initialPointsMethod::initialPointsMethod ( const word& type, const dictionary& initialPointsDict, - const conformalVoronoiMesh& foamyHexMesh + const Time& runTime, + Random& rndGen, + const conformationSurfaces& geometryToConformTo, + const cellShapeControl& cellShapeControls, + const autoPtr<backgroundMeshDecomposition>& decomposition ) : dictionary(initialPointsDict), - foamyHexMesh_(foamyHexMesh), + runTime_(runTime), + rndGen_(rndGen), + geometryToConformTo_(geometryToConformTo), + cellShapeControls_(cellShapeControls), + decomposition_(decomposition), detailsDict_(subDict(type + "Coeffs")), minimumSurfaceDistanceCoeffSqr_ ( @@ -68,7 +76,11 @@ initialPointsMethod::initialPointsMethod autoPtr<initialPointsMethod> initialPointsMethod::New ( const dictionary& initialPointsDict, - const conformalVoronoiMesh& foamyHexMesh + const Time& runTime, + Random& rndGen, + const conformationSurfaces& geometryToConformTo, + const cellShapeControl& cellShapeControls, + const autoPtr<backgroundMeshDecomposition>& decomposition ) { word initialPointsMethodTypeName @@ -99,7 +111,15 @@ autoPtr<initialPointsMethod> initialPointsMethod::New return autoPtr<initialPointsMethod> ( - cstrIter()(initialPointsDict, foamyHexMesh) + cstrIter() + ( + initialPointsDict, + runTime, + rndGen, + geometryToConformTo, + cellShapeControls, + decomposition + ) ); } diff --git a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/initialPointsMethod/initialPointsMethod/initialPointsMethod.H b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/initialPointsMethod/initialPointsMethod/initialPointsMethod.H index 362f33c0ef8e7ec80f9135de028bbc076fadb8f7..db8e8380f92621f341c3e349b700900c2b7f7b84 100644 --- a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/initialPointsMethod/initialPointsMethod/initialPointsMethod.H +++ b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/initialPointsMethod/initialPointsMethod/initialPointsMethod.H @@ -62,8 +62,15 @@ protected: // Protected data - //- Reference to the conformalVoronoiMesh holding this object - const conformalVoronoiMesh& foamyHexMesh_; + const Time& runTime_; + + Random& rndGen_; + + const conformationSurfaces& geometryToConformTo_; + + const cellShapeControl& cellShapeControls_; + + const autoPtr<backgroundMeshDecomposition>& decomposition_; //- Method details dictionary dictionary detailsDict_; @@ -102,9 +109,20 @@ public: dictionary, ( const dictionary& initialPointsDict, - const conformalVoronoiMesh& foamyHexMesh + const Time& runTime, + Random& rndGen, + const conformationSurfaces& geometryToConformTo, + const cellShapeControl& cellShapeControls, + const autoPtr<backgroundMeshDecomposition>& decomposition ), - (initialPointsDict, foamyHexMesh) + ( + initialPointsDict, + runTime, + rndGen, + geometryToConformTo, + cellShapeControls, + decomposition + ) ); @@ -115,7 +133,11 @@ public: ( const word& type, const dictionary& initialPointsDict, - const conformalVoronoiMesh& foamyHexMesh + const Time& runTime, + Random& rndGen, + const conformationSurfaces& geometryToConformTo, + const cellShapeControl& cellShapeControls, + const autoPtr<backgroundMeshDecomposition>& decomposition ); @@ -125,7 +147,11 @@ public: static autoPtr<initialPointsMethod> New ( const dictionary& initialPointsDict, - const conformalVoronoiMesh& foamyHexMesh + const Time& runTime, + Random& rndGen, + const conformationSurfaces& geometryToConformTo, + const cellShapeControl& cellShapeControls, + const autoPtr<backgroundMeshDecomposition>& decomposition ); @@ -135,19 +161,49 @@ public: // Member Functions - //- Const access to the details dictionary - const dictionary& detailsDict() const - { - return detailsDict_; - } + // Access + + const Time& time() const + { + return runTime_; + } + + Random& rndGen() const + { + return rndGen_; + } + + const conformationSurfaces& geometryToConformTo() const + { + return geometryToConformTo_; + } + + const cellShapeControl& cellShapeControls() const + { + return cellShapeControls_; + } + + const backgroundMeshDecomposition& decomposition() const + { + return decomposition_; + } + + //- Const access to the details dictionary + const dictionary& detailsDict() const + { + return detailsDict_; + } + + Switch fixInitialPoints() const + { + return fixInitialPoints_; + } + - Switch fixInitialPoints() const - { - return fixInitialPoints_; - } + // Queries - //- Return the initial points for the conformalVoronoiMesh - virtual List<Vb::Point> initialPoints() const = 0; + //- Return the initial points for the conformalVoronoiMesh + virtual List<Vb::Point> initialPoints() const = 0; }; diff --git a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/initialPointsMethod/pointFile/pointFile.C b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/initialPointsMethod/pointFile/pointFile.C index a44103923b4ec09045befa9ad5855423a6b23e74..b1dafb74c4295b4db17f3fb0e5258f4b9239e5cc 100644 --- a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/initialPointsMethod/pointFile/pointFile.C +++ b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/initialPointsMethod/pointFile/pointFile.C @@ -41,12 +41,34 @@ addToRunTimeSelectionTable(initialPointsMethod, pointFile, dictionary); pointFile::pointFile ( const dictionary& initialPointsDict, - const conformalVoronoiMesh& foamyHexMesh + const Time& runTime, + Random& rndGen, + const conformationSurfaces& geometryToConformTo, + const cellShapeControl& cellShapeControls, + const autoPtr<backgroundMeshDecomposition>& decomposition ) : - initialPointsMethod(typeName, initialPointsDict, foamyHexMesh), - pointFileName_(detailsDict().lookup("pointFile")) -{} + initialPointsMethod + ( + typeName, + initialPointsDict, + runTime, + rndGen, + geometryToConformTo, + cellShapeControls, + decomposition + ), + pointFileName_(detailsDict().lookup("pointFile")), + insideOutsideCheck_(detailsDict().lookup("insideOutsideCheck")), + randomiseInitialGrid_(detailsDict().lookup("randomiseInitialGrid")), + randomPerturbationCoeff_ + ( + readScalar(detailsDict().lookup("randomPerturbationCoeff")) + ) +{ + Info<< " Inside/Outside check is " << insideOutsideCheck_.asText() + << endl; +} // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // @@ -58,8 +80,8 @@ List<Vb::Point> pointFile::initialPoints() const IOobject ( pointFileName_.name(), - foamyHexMesh_.time().timeName(), - foamyHexMesh_.time(), + time().timeName(), + time(), IOobject::MUST_READ, IOobject::NO_WRITE ) @@ -85,13 +107,13 @@ List<Vb::Point> pointFile::initialPoints() const if (!isParentFile) { - foamyHexMesh_.decomposition().distributePoints(points); + decomposition().distributePoints(points); } else { // Otherwise, this is assumed to be points covering the whole // domain, so filter the points to be only those on this processor - boolList procPt(foamyHexMesh_.positionOnThisProc(points)); + boolList procPt(decomposition().positionOnThisProcessor(points)); List<boolList> allProcPt(Pstream::nProcs()); @@ -126,15 +148,17 @@ List<Vb::Point> pointFile::initialPoints() const } } - Field<bool> insidePoints = foamyHexMesh_.geometryToConformTo().wellInside - ( - points, - minimumSurfaceDistanceCoeffSqr_ - *sqr + Field<bool> insidePoints(points.size(), true); + + if (insideOutsideCheck_) + { + insidePoints = geometryToConformTo().wellInside ( - foamyHexMesh_.cellShapeControls().cellSize(points) - ) - ); + points, + minimumSurfaceDistanceCoeffSqr_ + *sqr(cellShapeControls().cellSize(points)) + ); + } DynamicList<Vb::Point> initialPoints(insidePoints.size()/10); @@ -142,7 +166,14 @@ List<Vb::Point> pointFile::initialPoints() const { if (insidePoints[i]) { - const point& p(points[i]); + point& p = points[i]; + + if (randomiseInitialGrid_) + { + p.x() += randomPerturbationCoeff_*(rndGen().scalar01() - 0.5); + p.y() += randomPerturbationCoeff_*(rndGen().scalar01() - 0.5); + p.z() += randomPerturbationCoeff_*(rndGen().scalar01() - 0.5); + } initialPoints.append(Vb::Point(p.x(), p.y(), p.z())); } diff --git a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/initialPointsMethod/pointFile/pointFile.H b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/initialPointsMethod/pointFile/pointFile.H index 05cc0bc48854ddcd20973476e4a24beb5492ee6b..621e7ad78f7048ff8438590ccfd1c1fd9bb77284 100644 --- a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/initialPointsMethod/pointFile/pointFile.H +++ b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/initialPointsMethod/pointFile/pointFile.H @@ -38,6 +38,7 @@ SourceFiles #include "fileName.H" #include "pointIOField.H" +#include "Switch.H" #include "initialPointsMethod.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -61,6 +62,15 @@ private: //- The initial cell spacing fileName pointFileName_; + //- Check if inserted points are inside or outside + Switch insideOutsideCheck_; + + //- Should the initial positions be randomised + Switch randomiseInitialGrid_; + + //- Randomise the initial positions by fraction of the initialCellSize_ + scalar randomPerturbationCoeff_; + public: @@ -73,7 +83,11 @@ public: pointFile ( const dictionary& initialPointsDict, - const conformalVoronoiMesh& foamyHexMesh + const Time& runTime, + Random& rndGen, + const conformationSurfaces& geometryToConformTo, + const cellShapeControl& cellShapeControls, + const autoPtr<backgroundMeshDecomposition>& decomposition ); diff --git a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/initialPointsMethod/uniformGrid/uniformGrid.C b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/initialPointsMethod/uniformGrid/uniformGrid.C index 567188549df3dcd0d2f77cc609b4eef8c21f2ab5..fc4d5a2d96879be0a823d12694e6a2f48c229da4 100644 --- a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/initialPointsMethod/uniformGrid/uniformGrid.C +++ b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/initialPointsMethod/uniformGrid/uniformGrid.C @@ -41,10 +41,23 @@ addToRunTimeSelectionTable(initialPointsMethod, uniformGrid, dictionary); uniformGrid::uniformGrid ( const dictionary& initialPointsDict, - const conformalVoronoiMesh& foamyHexMesh + const Time& runTime, + Random& rndGen, + const conformationSurfaces& geometryToConformTo, + const cellShapeControl& cellShapeControls, + const autoPtr<backgroundMeshDecomposition>& decomposition ) : - initialPointsMethod(typeName, initialPointsDict, foamyHexMesh), + initialPointsMethod + ( + typeName, + initialPointsDict, + runTime, + rndGen, + geometryToConformTo, + cellShapeControls, + decomposition + ), initialCellSize_(readScalar(detailsDict().lookup("initialCellSize"))), randomiseInitialGrid_(detailsDict().lookup("randomiseInitialGrid")), randomPerturbationCoeff_ @@ -64,11 +77,11 @@ List<Vb::Point> uniformGrid::initialPoints() const // on whether this is a parallel run. if (Pstream::parRun()) { - bb = foamyHexMesh_.decomposition().procBounds(); + bb = decomposition().procBounds(); } else { - bb = foamyHexMesh_.geometryToConformTo().globalBounds(); + bb = geometryToConformTo().globalBounds(); } scalar x0 = bb.min().x(); @@ -87,8 +100,6 @@ List<Vb::Point> uniformGrid::initialPoints() const delta *= pow((1.0),-(1.0/3.0)); - Random& rndGen = foamyHexMesh_.rndGen(); - scalar pert = randomPerturbationCoeff_*cmptMin(delta); // Initialise points list @@ -117,15 +128,15 @@ List<Vb::Point> uniformGrid::initialPoints() const if (randomiseInitialGrid_) { - p.x() += pert*(rndGen.scalar01() - 0.5); - p.y() += pert*(rndGen.scalar01() - 0.5); - p.z() += pert*(rndGen.scalar01() - 0.5); + p.x() += pert*(rndGen().scalar01() - 0.5); + p.y() += pert*(rndGen().scalar01() - 0.5); + p.z() += pert*(rndGen().scalar01() - 0.5); } if ( Pstream::parRun() - && !foamyHexMesh_.decomposition().positionOnThisProcessor(p) + && !decomposition().positionOnThisProcessor(p) ) { // Skip this point if, in parallel, this position is not on @@ -139,13 +150,13 @@ List<Vb::Point> uniformGrid::initialPoints() const points.setSize(pI); Field<bool> insidePoints = - foamyHexMesh_.geometryToConformTo().wellInside + geometryToConformTo().wellInside ( points, minimumSurfaceDistanceCoeffSqr_ *sqr ( - foamyHexMesh_.cellShapeControls().cellSize(points) + cellShapeControls().cellSize(points) ) ); diff --git a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/initialPointsMethod/uniformGrid/uniformGrid.H b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/initialPointsMethod/uniformGrid/uniformGrid.H index 4782e98533fc5866bf5299b81798588bf7f6b155..be3a7b1fa2e69717c255c6031becc05689bcacbc 100644 --- a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/initialPointsMethod/uniformGrid/uniformGrid.H +++ b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/initialPointsMethod/uniformGrid/uniformGrid.H @@ -77,7 +77,11 @@ public: uniformGrid ( const dictionary& initialPointsDict, - const conformalVoronoiMesh& foamyHexMesh + const Time& runTime, + Random& rndGen, + const conformationSurfaces& geometryToConformTo, + const cellShapeControl& cellShapeControls, + const autoPtr<backgroundMeshDecomposition>& decomposition ); diff --git a/applications/utilities/mesh/generation/foamyHexMesh/foamyHexMesh.C b/applications/utilities/mesh/generation/foamyHexMesh/foamyHexMesh.C index f71a17cfcbddcae8873febeef01e42962e468d08..f435aa616a7e4f8ef1c682d8dff461dc4e6494d5 100644 --- a/applications/utilities/mesh/generation/foamyHexMesh/foamyHexMesh.C +++ b/applications/utilities/mesh/generation/foamyHexMesh/foamyHexMesh.C @@ -30,6 +30,9 @@ Description \*---------------------------------------------------------------------------*/ #include "argList.H" +#include "Time.H" +#include "IOdictionary.H" +#include "searchableSurfaces.H" #include "conformalVoronoiMesh.H" #include "vtkSetWriter.H" @@ -137,9 +140,10 @@ int main(int argc, char *argv[]) mesh.move(); - Info<< nl << "ExecutionTime = " << runTime.elapsedCpuTime() << " s" + Info<< nl + << "ExecutionTime = " << runTime.elapsedCpuTime() << " s" << " ClockTime = " << runTime.elapsedClockTime() << " s" - << endl; + << nl << endl; } } diff --git a/applications/utilities/mesh/generation/foamyHexMesh/vectorTools/vectorTools.H b/applications/utilities/mesh/generation/foamyHexMesh/vectorTools/vectorTools.H index 106755153e7a46b8299ac9ee371d4a4bc3430e35..a716a1bb68add87a9ec0d51c54887521f13ee950 100644 --- a/applications/utilities/mesh/generation/foamyHexMesh/vectorTools/vectorTools.H +++ b/applications/utilities/mesh/generation/foamyHexMesh/vectorTools/vectorTools.H @@ -27,8 +27,6 @@ Class Description Functions for analysing the relationships between vectors -SourceFiles - \*---------------------------------------------------------------------------*/ #ifndef vectorTools_H @@ -49,7 +47,7 @@ namespace Foam //- Collection of functions for testing relationships between two vectors. namespace vectorTools { - //- Test if a and b are parallel: a.b = 1 + //- Test if a and b are parallel: a^b = 0 // Uses the cross product, so the tolerance is proportional to // the sine of the angle between a and b in radians template<typename T> @@ -146,6 +144,7 @@ namespace vectorTools } // End namespace vectorTools + // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // } // End namespace Foam diff --git a/applications/utilities/mesh/generation/snappyHexMesh/snappyHexMesh.C b/applications/utilities/mesh/generation/snappyHexMesh/snappyHexMesh.C index 707c1f5aebafb45a86a57aef82997d972712b7eb..5536aed6ffdfecf109264e9cc8d6dd5dc549da31 100644 --- a/applications/utilities/mesh/generation/snappyHexMesh/snappyHexMesh.C +++ b/applications/utilities/mesh/generation/snappyHexMesh/snappyHexMesh.C @@ -723,111 +723,117 @@ int main(int argc, char *argv[]) autoPtr<fvMesh> meshPtr; - if (surfaceSimplify) - { - IOdictionary foamyHexMeshDict - ( - IOobject - ( - "foamyHexMeshDict", - runTime.system(), - runTime, - IOobject::MUST_READ_IF_MODIFIED, - IOobject::NO_WRITE - ) - ); - - const dictionary& motionDict = - foamyHexMeshDict.subDict("motionControl"); - - const scalar defaultCellSize = - readScalar(motionDict.lookup("defaultCellSize")); - - Info<< "Constructing single cell mesh from boundBox" << nl << endl; - - boundBox bb(args.optionRead<boundBox>("surfaceSimplify")); - - labelList owner(6, label(0)); - labelList neighbour(0); - - const cellModel& hexa = *(cellModeller::lookup("hex")); - faceList faces = hexa.modelFaces(); - - meshPtr.set - ( - new fvMesh - ( - IOobject - ( - fvMesh::defaultRegion, - runTime.timeName(), - runTime, - IOobject::NO_READ - ), - xferMove<Field<vector> >(bb.points()()), - faces.xfer(), - owner.xfer(), - neighbour.xfer() - ) - ); - - List<polyPatch*> patches(1); - - patches[0] = new wallPolyPatch - ( - "boundary", - 6, - 0, - 0, - meshPtr().boundaryMesh(), - emptyPolyPatch::typeName - ); - - meshPtr().addFvPatches(patches); - - const scalar initialCellSize = ::pow(meshPtr().V()[0], 1.0/3.0); - const label initialRefLevels = - ::log(initialCellSize/defaultCellSize)/::log(2); - - Info<< "Default cell size = " << defaultCellSize << endl; - Info<< "Initial cell size = " << initialCellSize << endl; - - Info<< "Initial refinement levels = " << initialRefLevels << endl; - - Info<< "Mesh starting size = " << meshPtr().nCells() << endl; - - // meshCutter must be destroyed before writing the mesh otherwise it - // writes the cellLevel/pointLevel files - { - hexRef8 meshCutter(meshPtr(), false); - - for (label refineI = 0; refineI < initialRefLevels; ++refineI) - { - // Mesh changing engine. - polyTopoChange meshMod(meshPtr(), true); - - // Play refinement commands into mesh changer. - meshCutter.setRefinement(identity(meshPtr().nCells()), meshMod); - - // Create mesh (no inflation), return map from old to new mesh. - autoPtr<mapPolyMesh> map = meshMod.changeMesh(meshPtr(), false); - - // Update fields - meshPtr().updateMesh(map); - - // Delete mesh volumes. - meshPtr().clearOut(); - - Info<< "Refinement Iteration " << refineI + 1 - << ", Mesh size = " << meshPtr().nCells() << endl; - } - } - - Info<< "Mesh end size = " << meshPtr().nCells() << endl; - - meshPtr().write(); - } - else +// if (surfaceSimplify) +// { +// IOdictionary foamyHexMeshDict +// ( +// IOobject +// ( +// "foamyHexMeshDict", +// runTime.system(), +// runTime, +// IOobject::MUST_READ_IF_MODIFIED, +// IOobject::NO_WRITE +// ) +// ); +// +// const dictionary& motionDict = +// foamyHexMeshDict.subDict("motionControl"); +// +// const scalar defaultCellSize = +// readScalar(motionDict.lookup("defaultCellSize")); +// +// Info<< "Constructing single cell mesh from boundBox" << nl << endl; +// +// boundBox bb(args.optionRead<boundBox>("surfaceSimplify")); +// +// labelList owner(6, label(0)); +// labelList neighbour(0); +// +// const cellModel& hexa = *(cellModeller::lookup("hex")); +// faceList faces = hexa.modelFaces(); +// +// meshPtr.set +// ( +// new fvMesh +// ( +// IOobject +// ( +// fvMesh::defaultRegion, +// runTime.timeName(), +// runTime, +// IOobject::NO_READ +// ), +// xferMove<Field<vector> >(bb.points()()), +// faces.xfer(), +// owner.xfer(), +// neighbour.xfer() +// ) +// ); +// +// List<polyPatch*> patches(1); +// +// patches[0] = new wallPolyPatch +// ( +// "boundary", +// 6, +// 0, +// 0, +// meshPtr().boundaryMesh(), +// wallPolyPatch::typeName +// ); +// +// meshPtr().addFvPatches(patches); +// +// const scalar initialCellSize = ::pow(meshPtr().V()[0], 1.0/3.0); +// const label initialRefLevels = +// ::log(initialCellSize/defaultCellSize)/::log(2); +// +// Info<< "Default cell size = " << defaultCellSize << endl; +// Info<< "Initial cell size = " << initialCellSize << endl; +// +// Info<< "Initial refinement levels = " << initialRefLevels << endl; +// +// Info<< "Mesh starting size = " << meshPtr().nCells() << endl; +// +// // meshCutter must be destroyed before writing the mesh otherwise it +// // writes the cellLevel/pointLevel files +// { +// hexRef8 meshCutter(meshPtr(), false); +// +// for (label refineI = 0; refineI < initialRefLevels; ++refineI) +// { +// // Mesh changing engine. +// polyTopoChange meshMod(meshPtr(), true); +// +// // Play refinement commands into mesh changer. +// meshCutter.setRefinement +// ( +// identity(meshPtr().nCells()), +// meshMod +// ); +// +// // Create mesh (no inflation), return map from old to new mesh +// autoPtr<mapPolyMesh> map = +// meshMod.changeMesh(meshPtr(), false); +// +// // Update fields +// meshPtr().updateMesh(map); +// +// // Delete mesh volumes. +// meshPtr().clearOut(); +// +// Info<< "Refinement Iteration " << refineI + 1 +// << ", Mesh size = " << meshPtr().nCells() << endl; +// } +// } +// +// Info<< "Mesh end size = " << meshPtr().nCells() << endl; +// +// Info<< "Create mesh" << endl; +// meshPtr().write(); +// } +// else { Foam::Info << "Create mesh for time = " @@ -1521,6 +1527,21 @@ int main(int argc, char *argv[]) includePatches, outFileName ); + + pointIOField cellCentres + ( + IOobject + ( + "internalCellCentres", + runTime.timeName(), + mesh, + IOobject::NO_READ, + IOobject::AUTO_WRITE + ), + mesh.cellCentres() + ); + + cellCentres.write(); } diff --git a/src/OpenFOAM/meshes/polyMesh/polyBoundaryMesh/polyBoundaryMesh.C b/src/OpenFOAM/meshes/polyMesh/polyBoundaryMesh/polyBoundaryMesh.C index 7be818121147a90b3d7c92e06711e08eb0a594f3..cce5e4f21a96c8297a5dfee7e7a99944025933e7 100644 --- a/src/OpenFOAM/meshes/polyMesh/polyBoundaryMesh/polyBoundaryMesh.C +++ b/src/OpenFOAM/meshes/polyMesh/polyBoundaryMesh/polyBoundaryMesh.C @@ -41,19 +41,6 @@ defineTypeNameAndDebug(polyBoundaryMesh, 0); } -// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // - -Foam::labelList Foam::polyBoundaryMesh::ident(const label len) -{ - labelList elems(len); - forAll(elems, elemI) - { - elems[elemI] = elemI; - } - return elems; -} - - // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // Foam::polyBoundaryMesh::polyBoundaryMesh diff --git a/src/OpenFOAM/meshes/polyMesh/polyBoundaryMesh/polyBoundaryMesh.H b/src/OpenFOAM/meshes/polyMesh/polyBoundaryMesh/polyBoundaryMesh.H index d84397815f88359fa137e5d639abeae55cd5d784..3878c80b36629d47ca53419442460bdd6ad80c55 100644 --- a/src/OpenFOAM/meshes/polyMesh/polyBoundaryMesh/polyBoundaryMesh.H +++ b/src/OpenFOAM/meshes/polyMesh/polyBoundaryMesh/polyBoundaryMesh.H @@ -78,9 +78,6 @@ class polyBoundaryMesh // Private Member Functions - //- Create identity map - static labelList ident(const label len); - //- Calculate the geometry for the patches (transformation tensors etc.) void calcGeometry(); diff --git a/src/OpenFOAM/primitives/triad/triad.C b/src/OpenFOAM/primitives/triad/triad.C index a642463f422c7407e6f517aa2516321c0eb29fe9..b6aef8c7f1f9bc1df27cfc62e8990be9b5b01650 100644 --- a/src/OpenFOAM/primitives/triad/triad.C +++ b/src/OpenFOAM/primitives/triad/triad.C @@ -66,6 +66,13 @@ const triad triad::min vector(-VGREAT, -VGREAT, -VGREAT) ); +const triad triad::I +( + vector(1, 0, 0), + vector(0, 1, 0), + vector(0, 0, 1) +); + const triad triad::unset ( vector(VGREAT, VGREAT, VGREAT), diff --git a/src/OpenFOAM/primitives/triad/triad.H b/src/OpenFOAM/primitives/triad/triad.H index fbf91fc0e291d55defeec5ed2f70e40d7511678e..69f4b40e81060e2de94b74f70ef9924a5bd19891 100644 --- a/src/OpenFOAM/primitives/triad/triad.H +++ b/src/OpenFOAM/primitives/triad/triad.H @@ -100,6 +100,7 @@ public: static const triad one; static const triad max; static const triad min; + static const triad I; static const triad unset; diff --git a/tutorials/mesh/foamyHexMesh/blob/Allclean b/tutorials/mesh/foamyHexMesh/blob/Allclean index 3b8eb25810039817af3290c78cec672d91be429c..8a3c5a3f91d6c779b9cc6f7a0bf7d45e6bec5990 100755 --- a/tutorials/mesh/foamyHexMesh/blob/Allclean +++ b/tutorials/mesh/foamyHexMesh/blob/Allclean @@ -6,9 +6,20 @@ cd ${0%/*} || exit 1 # run from this directory cleanCase +rm -rf constant/triSurface/blob.stl.gz > /dev/null 2>&1 + rm -rf constant/cellAlignments > /dev/null 2>&1 rm -rf constant/targetCellSize > /dev/null 2>&1 rm -rf constant/internalDelaunayVertices > /dev/null 2>&1 +rm -rf constant/backgroundMeshDecomposition/polyMesh/boundary > /dev/null 2>&1 +rm -rf constant/backgroundMeshDecomposition/polyMesh/faces > /dev/null 2>&1 +rm -rf constant/backgroundMeshDecomposition/polyMesh/neighbour > /dev/null 2>&1 +rm -rf constant/backgroundMeshDecomposition/polyMesh/owner > /dev/null 2>&1 +rm -rf constant/backgroundMeshDecomposition/polyMesh/points > /dev/null 2>&1 + +rm -rf snapToSurface?.obj > /dev/null 2>&1 +rm -rf tetsToSnapTo.obj > /dev/null 2>&1 + # ----------------------------------------------------------------- end-of-file diff --git a/tutorials/mesh/foamyHexMesh/flange/Allclean b/tutorials/mesh/foamyHexMesh/flange/Allclean index dc1ee49a8fe81c236846b581745b8bf9c0f9b13a..512d3e2a271172df374a704279391ed5c3974423 100755 --- a/tutorials/mesh/foamyHexMesh/flange/Allclean +++ b/tutorials/mesh/foamyHexMesh/flange/Allclean @@ -4,11 +4,21 @@ cd ${0%/*} || exit 1 # run from this directory # Source tutorial run functions . $WM_PROJECT_DIR/bin/tools/CleanFunctions +rm -r constant/triSurface/flange.stl.gz > /dev/null 2>&1 + rm -rf constant/extendedFeatureEdgeMesh > /dev/null 2>&1 rm -r constant/ccx constant/ccy constant/ccz > /dev/null 2>&1 rm -r constant/internalDelaunayVertices constant/targetCellSize > /dev/null 2>&1 rm -r 0/ccx 0/ccy 0/ccz > /dev/null 2>&1 +rm -rf constant/backgroundMeshDecomposition/polyMesh/boundary > /dev/null 2>&1 +rm -rf constant/backgroundMeshDecomposition/polyMesh/faces > /dev/null 2>&1 +rm -rf constant/backgroundMeshDecomposition/polyMesh/neighbour > /dev/null 2>&1 +rm -rf constant/backgroundMeshDecomposition/polyMesh/owner > /dev/null 2>&1 +rm -rf constant/backgroundMeshDecomposition/polyMesh/points > /dev/null 2>&1 + +rm -r *.obj > /dev/null 2>&1 + cleanCase # ----------------------------------------------------------------- end-of-file diff --git a/tutorials/mesh/foamyHexMesh/mixerVessel/Allclean b/tutorials/mesh/foamyHexMesh/mixerVessel/Allclean index 3b88829f540dcf87d48c1766f77359b8304e8b40..e060fdbce38d567327ae1125b633c2ebcd546064 100755 --- a/tutorials/mesh/foamyHexMesh/mixerVessel/Allclean +++ b/tutorials/mesh/foamyHexMesh/mixerVessel/Allclean @@ -6,6 +6,23 @@ cd ${0%/*} || exit 1 # run from this directory rm -r constant/internalDelaunayVertices constant/targetCellSize > /dev/null 2>&1 +rm -r snapToSurface?.obj subsetBox.obj surf1.obj tetsToSnapTo.obj > /dev/null 2>&1 + +rm -r constant/backgroundMeshDecomposition/polyMesh/boundary > /dev/null 2>&1 +rm -r constant/backgroundMeshDecomposition/polyMesh/faces > /dev/null 2>&1 +rm -r constant/backgroundMeshDecomposition/polyMesh/neighbour > /dev/null 2>&1 +rm -r constant/backgroundMeshDecomposition/polyMesh/owner > /dev/null 2>&1 +rm -r constant/backgroundMeshDecomposition/polyMesh/points > /dev/null 2>&1 + +rm -rf constant/extendedFeatureEdgeMesh > /dev/null 2>&1 + +rm -r constant/triSurface/rawSurfaces/*.stl > /dev/null 2>&1 + +rm -r constant/triSurface/*.stl > /dev/null 2>&1 +rm -r constant/triSurface/*.obj > /dev/null 2>&1 +rm -r constant/triSurface/*.eMesh > /dev/null 2>&1 +rm -r constant/triSurface/problemFaces > /dev/null 2>&1 + cleanCase # ----------------------------------------------------------------- end-of-file diff --git a/tutorials/mesh/foamyHexMesh/mixerVessel/system/decomposeParDict b/tutorials/mesh/foamyHexMesh/mixerVessel/system/decomposeParDict index 24853f860c83fa3934d4a639a8cd06eef84ab905..4c4b36276302a3cd83eb70e5f13ec97a3c5819f8 100644 --- a/tutorials/mesh/foamyHexMesh/mixerVessel/system/decomposeParDict +++ b/tutorials/mesh/foamyHexMesh/mixerVessel/system/decomposeParDict @@ -18,8 +18,8 @@ FoamFile numberOfSubdomains 8; //method ptscotch; -//method hierarchical; -method scotch; +method hierarchical; +//method scotch; simpleCoeffs { diff --git a/tutorials/mesh/foamyHexMesh/simpleShapes/Allclean b/tutorials/mesh/foamyHexMesh/simpleShapes/Allclean index 5361756c0d83d2cb6bf35f75930d4b625fd7d142..3e9b928240b8f003339d5ecd2d644f04a964560f 100755 --- a/tutorials/mesh/foamyHexMesh/simpleShapes/Allclean +++ b/tutorials/mesh/foamyHexMesh/simpleShapes/Allclean @@ -6,11 +6,13 @@ cd ${0%/*} || exit 1 # run from this directory rm -r constant/extendedFeatureEdgeMesh constant/internalDelaunayVertices > /dev/null 2>&1 rm constant/triSurface/*.eMesh > /dev/null 2>&1 -rm constant/triSurface/*_clean* > /dev/null 2>&1 +rm constant/triSurface/*_orient* > /dev/null 2>&1 +rm -r constant/polyMesh > /dev/null 2>&1 rm -r constant/polyMesh > /dev/null 2>&1 -rm constant/targetCellSize > /dev/null 2>&1 rm -r constant/tetDualMesh > /dev/null 2>&1 +rm -r snapToSurface?.obj tetsToSnapTo.obj > /dev/null 2>&1 + rm domain coneAndSphere > /dev/null 2>&1 cleanCase diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/mixerVessel2D/system/controlDict b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/mixerVessel2D/system/controlDict deleted file mode 100644 index 5d64d363fa3ce9c7ff47851867f0afb2ee4c156d..0000000000000000000000000000000000000000 --- a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/mixerVessel2D/system/controlDict +++ /dev/null @@ -1,55 +0,0 @@ -/*--------------------------------*- 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 20; - -deltaT 1e-4; - -writeControl adjustableRunTime; - -writeInterval 0.1; - -purgeWrite 0; - -writeFormat ascii; - -writePrecision 6; - -writeCompression uncompressed; - -timeFormat general; - -timePrecision 6; - -runTimeModifiable yes; - -adjustTimeStep yes; - -maxCo 0.2; - -maxDeltaT 1; - - -// ************************************************************************* // diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/0/T.air b/tutorials/multiphase/twoPhaseEulerFoam/LES/bubbleColumn/0/T.air similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/0/T.air rename to tutorials/multiphase/twoPhaseEulerFoam/LES/bubbleColumn/0/T.air diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/0/T.water b/tutorials/multiphase/twoPhaseEulerFoam/LES/bubbleColumn/0/T.water similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/0/T.water rename to tutorials/multiphase/twoPhaseEulerFoam/LES/bubbleColumn/0/T.water diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/0/Theta b/tutorials/multiphase/twoPhaseEulerFoam/LES/bubbleColumn/0/Theta similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/0/Theta rename to tutorials/multiphase/twoPhaseEulerFoam/LES/bubbleColumn/0/Theta diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/0/U.air b/tutorials/multiphase/twoPhaseEulerFoam/LES/bubbleColumn/0/U.air similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/0/U.air rename to tutorials/multiphase/twoPhaseEulerFoam/LES/bubbleColumn/0/U.air diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/0/U.water b/tutorials/multiphase/twoPhaseEulerFoam/LES/bubbleColumn/0/U.water similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/0/U.water rename to tutorials/multiphase/twoPhaseEulerFoam/LES/bubbleColumn/0/U.water diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/0/alpha.air b/tutorials/multiphase/twoPhaseEulerFoam/LES/bubbleColumn/0/alpha.air similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/0/alpha.air rename to tutorials/multiphase/twoPhaseEulerFoam/LES/bubbleColumn/0/alpha.air diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/0/alpha.air.org b/tutorials/multiphase/twoPhaseEulerFoam/LES/bubbleColumn/0/alpha.air.org similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/0/alpha.air.org rename to tutorials/multiphase/twoPhaseEulerFoam/LES/bubbleColumn/0/alpha.air.org diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/0/epsilon.air b/tutorials/multiphase/twoPhaseEulerFoam/LES/bubbleColumn/0/epsilon.air similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/0/epsilon.air rename to tutorials/multiphase/twoPhaseEulerFoam/LES/bubbleColumn/0/epsilon.air diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/0/epsilon.water b/tutorials/multiphase/twoPhaseEulerFoam/LES/bubbleColumn/0/epsilon.water similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/0/epsilon.water rename to tutorials/multiphase/twoPhaseEulerFoam/LES/bubbleColumn/0/epsilon.water diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/0/k.air b/tutorials/multiphase/twoPhaseEulerFoam/LES/bubbleColumn/0/k.air similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/0/k.air rename to tutorials/multiphase/twoPhaseEulerFoam/LES/bubbleColumn/0/k.air diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/0/k.water b/tutorials/multiphase/twoPhaseEulerFoam/LES/bubbleColumn/0/k.water similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/0/k.water rename to tutorials/multiphase/twoPhaseEulerFoam/LES/bubbleColumn/0/k.water diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/0/nut.air b/tutorials/multiphase/twoPhaseEulerFoam/LES/bubbleColumn/0/nut.air similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/0/nut.air rename to tutorials/multiphase/twoPhaseEulerFoam/LES/bubbleColumn/0/nut.air diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/0/nut.water b/tutorials/multiphase/twoPhaseEulerFoam/LES/bubbleColumn/0/nut.water similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/0/nut.water rename to tutorials/multiphase/twoPhaseEulerFoam/LES/bubbleColumn/0/nut.water diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/0/p b/tutorials/multiphase/twoPhaseEulerFoam/LES/bubbleColumn/0/p similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/0/p rename to tutorials/multiphase/twoPhaseEulerFoam/LES/bubbleColumn/0/p diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/constant/g b/tutorials/multiphase/twoPhaseEulerFoam/LES/bubbleColumn/constant/g similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/constant/g rename to tutorials/multiphase/twoPhaseEulerFoam/LES/bubbleColumn/constant/g diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/constant/phaseProperties b/tutorials/multiphase/twoPhaseEulerFoam/LES/bubbleColumn/constant/phaseProperties similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/constant/phaseProperties rename to tutorials/multiphase/twoPhaseEulerFoam/LES/bubbleColumn/constant/phaseProperties diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/constant/polyMesh/blockMeshDict b/tutorials/multiphase/twoPhaseEulerFoam/LES/bubbleColumn/constant/polyMesh/blockMeshDict similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/constant/polyMesh/blockMeshDict rename to tutorials/multiphase/twoPhaseEulerFoam/LES/bubbleColumn/constant/polyMesh/blockMeshDict diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/constant/polyMesh/boundary b/tutorials/multiphase/twoPhaseEulerFoam/LES/bubbleColumn/constant/polyMesh/boundary similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/constant/polyMesh/boundary rename to tutorials/multiphase/twoPhaseEulerFoam/LES/bubbleColumn/constant/polyMesh/boundary diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/constant/thermophysicalProperties.air b/tutorials/multiphase/twoPhaseEulerFoam/LES/bubbleColumn/constant/thermophysicalProperties.air similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/constant/thermophysicalProperties.air rename to tutorials/multiphase/twoPhaseEulerFoam/LES/bubbleColumn/constant/thermophysicalProperties.air diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/constant/thermophysicalProperties.water b/tutorials/multiphase/twoPhaseEulerFoam/LES/bubbleColumn/constant/thermophysicalProperties.water similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/constant/thermophysicalProperties.water rename to tutorials/multiphase/twoPhaseEulerFoam/LES/bubbleColumn/constant/thermophysicalProperties.water diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/constant/turbulenceProperties.air b/tutorials/multiphase/twoPhaseEulerFoam/LES/bubbleColumn/constant/turbulenceProperties.air similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/constant/turbulenceProperties.air rename to tutorials/multiphase/twoPhaseEulerFoam/LES/bubbleColumn/constant/turbulenceProperties.air diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/constant/turbulenceProperties.water b/tutorials/multiphase/twoPhaseEulerFoam/LES/bubbleColumn/constant/turbulenceProperties.water similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/constant/turbulenceProperties.water rename to tutorials/multiphase/twoPhaseEulerFoam/LES/bubbleColumn/constant/turbulenceProperties.water diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/system/controlDict b/tutorials/multiphase/twoPhaseEulerFoam/LES/bubbleColumn/system/controlDict similarity index 97% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/system/controlDict rename to tutorials/multiphase/twoPhaseEulerFoam/LES/bubbleColumn/system/controlDict index 18bd2e06daecdad9cfcfe4aa17a643d49df8d145..0a0bfc89cf3126321d001724e2eeae4bcb69e8aa 100644 --- a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/system/controlDict +++ b/tutorials/multiphase/twoPhaseEulerFoam/LES/bubbleColumn/system/controlDict @@ -15,7 +15,7 @@ FoamFile } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -application compressibleTwoPhaseEulerFoam; +application twoPhaseEulerFoam; startFrom startTime; diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/system/fvSchemes b/tutorials/multiphase/twoPhaseEulerFoam/LES/bubbleColumn/system/fvSchemes similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/system/fvSchemes rename to tutorials/multiphase/twoPhaseEulerFoam/LES/bubbleColumn/system/fvSchemes diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/system/fvSolution b/tutorials/multiphase/twoPhaseEulerFoam/LES/bubbleColumn/system/fvSolution similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/system/fvSolution rename to tutorials/multiphase/twoPhaseEulerFoam/LES/bubbleColumn/system/fvSolution diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/system/setFieldsDict b/tutorials/multiphase/twoPhaseEulerFoam/LES/bubbleColumn/system/setFieldsDict similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/LES/bubbleColumn/system/setFieldsDict rename to tutorials/multiphase/twoPhaseEulerFoam/LES/bubbleColumn/system/setFieldsDict diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/0/T.air b/tutorials/multiphase/twoPhaseEulerFoam/RAS/bubbleColumn/0/T.air similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/0/T.air rename to tutorials/multiphase/twoPhaseEulerFoam/RAS/bubbleColumn/0/T.air diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/0/T.water b/tutorials/multiphase/twoPhaseEulerFoam/RAS/bubbleColumn/0/T.water similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/0/T.water rename to tutorials/multiphase/twoPhaseEulerFoam/RAS/bubbleColumn/0/T.water diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/0/Theta b/tutorials/multiphase/twoPhaseEulerFoam/RAS/bubbleColumn/0/Theta similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/0/Theta rename to tutorials/multiphase/twoPhaseEulerFoam/RAS/bubbleColumn/0/Theta diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/0/U.air b/tutorials/multiphase/twoPhaseEulerFoam/RAS/bubbleColumn/0/U.air similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/0/U.air rename to tutorials/multiphase/twoPhaseEulerFoam/RAS/bubbleColumn/0/U.air diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/0/U.water b/tutorials/multiphase/twoPhaseEulerFoam/RAS/bubbleColumn/0/U.water similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/0/U.water rename to tutorials/multiphase/twoPhaseEulerFoam/RAS/bubbleColumn/0/U.water diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/0/alpha.air b/tutorials/multiphase/twoPhaseEulerFoam/RAS/bubbleColumn/0/alpha.air similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/0/alpha.air rename to tutorials/multiphase/twoPhaseEulerFoam/RAS/bubbleColumn/0/alpha.air diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/0/alpha.air.org b/tutorials/multiphase/twoPhaseEulerFoam/RAS/bubbleColumn/0/alpha.air.org similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/0/alpha.air.org rename to tutorials/multiphase/twoPhaseEulerFoam/RAS/bubbleColumn/0/alpha.air.org diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/0/epsilon.air b/tutorials/multiphase/twoPhaseEulerFoam/RAS/bubbleColumn/0/epsilon.air similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/0/epsilon.air rename to tutorials/multiphase/twoPhaseEulerFoam/RAS/bubbleColumn/0/epsilon.air diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/0/epsilon.water b/tutorials/multiphase/twoPhaseEulerFoam/RAS/bubbleColumn/0/epsilon.water similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/0/epsilon.water rename to tutorials/multiphase/twoPhaseEulerFoam/RAS/bubbleColumn/0/epsilon.water diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/0/k.air b/tutorials/multiphase/twoPhaseEulerFoam/RAS/bubbleColumn/0/k.air similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/0/k.air rename to tutorials/multiphase/twoPhaseEulerFoam/RAS/bubbleColumn/0/k.air diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/0/k.water b/tutorials/multiphase/twoPhaseEulerFoam/RAS/bubbleColumn/0/k.water similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/0/k.water rename to tutorials/multiphase/twoPhaseEulerFoam/RAS/bubbleColumn/0/k.water diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/0/nut.air b/tutorials/multiphase/twoPhaseEulerFoam/RAS/bubbleColumn/0/nut.air similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/0/nut.air rename to tutorials/multiphase/twoPhaseEulerFoam/RAS/bubbleColumn/0/nut.air diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/0/nut.water b/tutorials/multiphase/twoPhaseEulerFoam/RAS/bubbleColumn/0/nut.water similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/0/nut.water rename to tutorials/multiphase/twoPhaseEulerFoam/RAS/bubbleColumn/0/nut.water diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/0/p b/tutorials/multiphase/twoPhaseEulerFoam/RAS/bubbleColumn/0/p similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/0/p rename to tutorials/multiphase/twoPhaseEulerFoam/RAS/bubbleColumn/0/p diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/constant/g b/tutorials/multiphase/twoPhaseEulerFoam/RAS/bubbleColumn/constant/g similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/constant/g rename to tutorials/multiphase/twoPhaseEulerFoam/RAS/bubbleColumn/constant/g diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/constant/phaseProperties b/tutorials/multiphase/twoPhaseEulerFoam/RAS/bubbleColumn/constant/phaseProperties similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/constant/phaseProperties rename to tutorials/multiphase/twoPhaseEulerFoam/RAS/bubbleColumn/constant/phaseProperties diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/constant/polyMesh/blockMeshDict b/tutorials/multiphase/twoPhaseEulerFoam/RAS/bubbleColumn/constant/polyMesh/blockMeshDict similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/constant/polyMesh/blockMeshDict rename to tutorials/multiphase/twoPhaseEulerFoam/RAS/bubbleColumn/constant/polyMesh/blockMeshDict diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/constant/polyMesh/boundary b/tutorials/multiphase/twoPhaseEulerFoam/RAS/bubbleColumn/constant/polyMesh/boundary similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/constant/polyMesh/boundary rename to tutorials/multiphase/twoPhaseEulerFoam/RAS/bubbleColumn/constant/polyMesh/boundary diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/constant/thermophysicalProperties.air b/tutorials/multiphase/twoPhaseEulerFoam/RAS/bubbleColumn/constant/thermophysicalProperties.air similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/constant/thermophysicalProperties.air rename to tutorials/multiphase/twoPhaseEulerFoam/RAS/bubbleColumn/constant/thermophysicalProperties.air diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/constant/thermophysicalProperties.water b/tutorials/multiphase/twoPhaseEulerFoam/RAS/bubbleColumn/constant/thermophysicalProperties.water similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/constant/thermophysicalProperties.water rename to tutorials/multiphase/twoPhaseEulerFoam/RAS/bubbleColumn/constant/thermophysicalProperties.water diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/constant/turbulenceProperties.air b/tutorials/multiphase/twoPhaseEulerFoam/RAS/bubbleColumn/constant/turbulenceProperties.air similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/constant/turbulenceProperties.air rename to tutorials/multiphase/twoPhaseEulerFoam/RAS/bubbleColumn/constant/turbulenceProperties.air diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/constant/turbulenceProperties.water b/tutorials/multiphase/twoPhaseEulerFoam/RAS/bubbleColumn/constant/turbulenceProperties.water similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/constant/turbulenceProperties.water rename to tutorials/multiphase/twoPhaseEulerFoam/RAS/bubbleColumn/constant/turbulenceProperties.water diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/system/controlDict b/tutorials/multiphase/twoPhaseEulerFoam/RAS/bubbleColumn/system/controlDict similarity index 97% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/system/controlDict rename to tutorials/multiphase/twoPhaseEulerFoam/RAS/bubbleColumn/system/controlDict index 18bd2e06daecdad9cfcfe4aa17a643d49df8d145..0a0bfc89cf3126321d001724e2eeae4bcb69e8aa 100644 --- a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/system/controlDict +++ b/tutorials/multiphase/twoPhaseEulerFoam/RAS/bubbleColumn/system/controlDict @@ -15,7 +15,7 @@ FoamFile } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -application compressibleTwoPhaseEulerFoam; +application twoPhaseEulerFoam; startFrom startTime; diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/system/fvSchemes b/tutorials/multiphase/twoPhaseEulerFoam/RAS/bubbleColumn/system/fvSchemes similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/system/fvSchemes rename to tutorials/multiphase/twoPhaseEulerFoam/RAS/bubbleColumn/system/fvSchemes diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/system/fvSolution b/tutorials/multiphase/twoPhaseEulerFoam/RAS/bubbleColumn/system/fvSolution similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/system/fvSolution rename to tutorials/multiphase/twoPhaseEulerFoam/RAS/bubbleColumn/system/fvSolution diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/system/setFieldsDict b/tutorials/multiphase/twoPhaseEulerFoam/RAS/bubbleColumn/system/setFieldsDict similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/bubbleColumn/system/setFieldsDict rename to tutorials/multiphase/twoPhaseEulerFoam/RAS/bubbleColumn/system/setFieldsDict diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/0/T.air b/tutorials/multiphase/twoPhaseEulerFoam/RAS/fluidisedBed/0/T.air similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/0/T.air rename to tutorials/multiphase/twoPhaseEulerFoam/RAS/fluidisedBed/0/T.air diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/0/T.particles b/tutorials/multiphase/twoPhaseEulerFoam/RAS/fluidisedBed/0/T.particles similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/0/T.particles rename to tutorials/multiphase/twoPhaseEulerFoam/RAS/fluidisedBed/0/T.particles diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/0/Theta.particles b/tutorials/multiphase/twoPhaseEulerFoam/RAS/fluidisedBed/0/Theta.particles similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/0/Theta.particles rename to tutorials/multiphase/twoPhaseEulerFoam/RAS/fluidisedBed/0/Theta.particles diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/0/U.air b/tutorials/multiphase/twoPhaseEulerFoam/RAS/fluidisedBed/0/U.air similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/0/U.air rename to tutorials/multiphase/twoPhaseEulerFoam/RAS/fluidisedBed/0/U.air diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/0/U.particles b/tutorials/multiphase/twoPhaseEulerFoam/RAS/fluidisedBed/0/U.particles similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/0/U.particles rename to tutorials/multiphase/twoPhaseEulerFoam/RAS/fluidisedBed/0/U.particles diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/0/alpha.air b/tutorials/multiphase/twoPhaseEulerFoam/RAS/fluidisedBed/0/alpha.air similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/0/alpha.air rename to tutorials/multiphase/twoPhaseEulerFoam/RAS/fluidisedBed/0/alpha.air diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/0/alpha.air.org b/tutorials/multiphase/twoPhaseEulerFoam/RAS/fluidisedBed/0/alpha.air.org similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/0/alpha.air.org rename to tutorials/multiphase/twoPhaseEulerFoam/RAS/fluidisedBed/0/alpha.air.org diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/0/alpha.particles b/tutorials/multiphase/twoPhaseEulerFoam/RAS/fluidisedBed/0/alpha.particles similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/0/alpha.particles rename to tutorials/multiphase/twoPhaseEulerFoam/RAS/fluidisedBed/0/alpha.particles diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/0/alpha.particles.org b/tutorials/multiphase/twoPhaseEulerFoam/RAS/fluidisedBed/0/alpha.particles.org similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/0/alpha.particles.org rename to tutorials/multiphase/twoPhaseEulerFoam/RAS/fluidisedBed/0/alpha.particles.org diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/0/epsilon.air b/tutorials/multiphase/twoPhaseEulerFoam/RAS/fluidisedBed/0/epsilon.air similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/0/epsilon.air rename to tutorials/multiphase/twoPhaseEulerFoam/RAS/fluidisedBed/0/epsilon.air diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/0/k.air b/tutorials/multiphase/twoPhaseEulerFoam/RAS/fluidisedBed/0/k.air similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/0/k.air rename to tutorials/multiphase/twoPhaseEulerFoam/RAS/fluidisedBed/0/k.air diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/0/nut.air b/tutorials/multiphase/twoPhaseEulerFoam/RAS/fluidisedBed/0/nut.air similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/0/nut.air rename to tutorials/multiphase/twoPhaseEulerFoam/RAS/fluidisedBed/0/nut.air diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/0/nut.particles b/tutorials/multiphase/twoPhaseEulerFoam/RAS/fluidisedBed/0/nut.particles similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/0/nut.particles rename to tutorials/multiphase/twoPhaseEulerFoam/RAS/fluidisedBed/0/nut.particles diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/0/p b/tutorials/multiphase/twoPhaseEulerFoam/RAS/fluidisedBed/0/p similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/0/p rename to tutorials/multiphase/twoPhaseEulerFoam/RAS/fluidisedBed/0/p diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/constant/g b/tutorials/multiphase/twoPhaseEulerFoam/RAS/fluidisedBed/constant/g similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/constant/g rename to tutorials/multiphase/twoPhaseEulerFoam/RAS/fluidisedBed/constant/g diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/constant/phaseProperties b/tutorials/multiphase/twoPhaseEulerFoam/RAS/fluidisedBed/constant/phaseProperties similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/constant/phaseProperties rename to tutorials/multiphase/twoPhaseEulerFoam/RAS/fluidisedBed/constant/phaseProperties diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/constant/polyMesh/blockMeshDict b/tutorials/multiphase/twoPhaseEulerFoam/RAS/fluidisedBed/constant/polyMesh/blockMeshDict similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/constant/polyMesh/blockMeshDict rename to tutorials/multiphase/twoPhaseEulerFoam/RAS/fluidisedBed/constant/polyMesh/blockMeshDict diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/constant/polyMesh/boundary b/tutorials/multiphase/twoPhaseEulerFoam/RAS/fluidisedBed/constant/polyMesh/boundary similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/constant/polyMesh/boundary rename to tutorials/multiphase/twoPhaseEulerFoam/RAS/fluidisedBed/constant/polyMesh/boundary diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/constant/thermophysicalProperties.air b/tutorials/multiphase/twoPhaseEulerFoam/RAS/fluidisedBed/constant/thermophysicalProperties.air similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/constant/thermophysicalProperties.air rename to tutorials/multiphase/twoPhaseEulerFoam/RAS/fluidisedBed/constant/thermophysicalProperties.air diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/constant/thermophysicalProperties.particles b/tutorials/multiphase/twoPhaseEulerFoam/RAS/fluidisedBed/constant/thermophysicalProperties.particles similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/constant/thermophysicalProperties.particles rename to tutorials/multiphase/twoPhaseEulerFoam/RAS/fluidisedBed/constant/thermophysicalProperties.particles diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/constant/turbulenceProperties.air b/tutorials/multiphase/twoPhaseEulerFoam/RAS/fluidisedBed/constant/turbulenceProperties.air similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/constant/turbulenceProperties.air rename to tutorials/multiphase/twoPhaseEulerFoam/RAS/fluidisedBed/constant/turbulenceProperties.air diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/constant/turbulenceProperties.particles b/tutorials/multiphase/twoPhaseEulerFoam/RAS/fluidisedBed/constant/turbulenceProperties.particles similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/constant/turbulenceProperties.particles rename to tutorials/multiphase/twoPhaseEulerFoam/RAS/fluidisedBed/constant/turbulenceProperties.particles diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/fluidisedBed/system/controlDict b/tutorials/multiphase/twoPhaseEulerFoam/RAS/fluidisedBed/system/controlDict similarity index 97% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/fluidisedBed/system/controlDict rename to tutorials/multiphase/twoPhaseEulerFoam/RAS/fluidisedBed/system/controlDict index 103ff2a9794a349e2a2939e9afb239fcbe9ceae2..db2ff7d973df6697a4b98e1e1486591c0308134f 100644 --- a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/fluidisedBed/system/controlDict +++ b/tutorials/multiphase/twoPhaseEulerFoam/RAS/fluidisedBed/system/controlDict @@ -15,7 +15,7 @@ FoamFile } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -application compressibleTwoPhaseEulerFoam; +application twoPhaseEulerFoam; startFrom startTime; diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/system/fvSchemes b/tutorials/multiphase/twoPhaseEulerFoam/RAS/fluidisedBed/system/fvSchemes similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/system/fvSchemes rename to tutorials/multiphase/twoPhaseEulerFoam/RAS/fluidisedBed/system/fvSchemes diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/system/fvSolution b/tutorials/multiphase/twoPhaseEulerFoam/RAS/fluidisedBed/system/fvSolution similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/system/fvSolution rename to tutorials/multiphase/twoPhaseEulerFoam/RAS/fluidisedBed/system/fvSolution diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/system/setFieldsDict b/tutorials/multiphase/twoPhaseEulerFoam/RAS/fluidisedBed/system/setFieldsDict similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/system/setFieldsDict rename to tutorials/multiphase/twoPhaseEulerFoam/RAS/fluidisedBed/system/setFieldsDict diff --git a/tutorials/multiphase/twoPhaseEulerFoam/bed/0/Theta b/tutorials/multiphase/twoPhaseEulerFoam/bed/0/Theta deleted file mode 100644 index 2ac308e7d1ce434b094e84b917904db8fd356bb7..0000000000000000000000000000000000000000 --- a/tutorials/multiphase/twoPhaseEulerFoam/bed/0/Theta +++ /dev/null @@ -1,49 +0,0 @@ -/*--------------------------------*- 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; - -boundaryField -{ - - bottom - { - type fixedValue; - value uniform 1.0e-8; - } - - top - { - type inletOutlet; - phi phi1; - inletValue uniform 1.0e-8; - } - - walls - { - type zeroGradient; - } - - frontBack - { - type empty; - } - -} - -// ************************************************************************* // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/bed/0/U1 b/tutorials/multiphase/twoPhaseEulerFoam/bed/0/U1 deleted file mode 100644 index c2f2c5bbf419e42aa0e44932269b3409cd6642a3..0000000000000000000000000000000000000000 --- a/tutorials/multiphase/twoPhaseEulerFoam/bed/0/U1 +++ /dev/null @@ -1,49 +0,0 @@ -/*--------------------------------*- 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 volVectorField; - object U1; -} -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -dimensions [ 0 1 -1 0 0 0 0 ]; - -internalField uniform (0 0 0); - -boundaryField -{ - bottom - { - type fixedValue; - value uniform (0 0 0); - } - - top - { - type pressureInletOutletVelocity; - phi phi1; - value $internalField; - } - - walls - { - type fixedValue; - value uniform (0 0 0); - } - - frontBack - { - type empty; - } - -} - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/bed/0/U2 b/tutorials/multiphase/twoPhaseEulerFoam/bed/0/U2 deleted file mode 100644 index cac8f03c5b0ed68367fdb104249cac7c7e94e526..0000000000000000000000000000000000000000 --- a/tutorials/multiphase/twoPhaseEulerFoam/bed/0/U2 +++ /dev/null @@ -1,48 +0,0 @@ -/*--------------------------------*- 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 volVectorField; - object U2; -} -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -dimensions [ 0 1 -1 0 0 0 0 ]; - -internalField uniform (0 0 0); - -boundaryField -{ - bottom - { - type fixedValue; - value uniform (0 0 0.9); - } - - top - { - type pressureInletOutletVelocity; - phi phi2; - value $internalField; - } - - walls - { - type fixedValue; - value uniform (0 0 0); - } - - frontBack - { - type empty; - } -} - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/bed/0/alpha1 b/tutorials/multiphase/twoPhaseEulerFoam/bed/0/alpha1 deleted file mode 100644 index e5c00d86a00abb7c0461bc42044d50fbbb82b4e5..0000000000000000000000000000000000000000 --- a/tutorials/multiphase/twoPhaseEulerFoam/bed/0/alpha1 +++ /dev/null @@ -1,47 +0,0 @@ -/*--------------------------------*- 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 alpha1; -} -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -dimensions [ 0 0 0 0 0 0 0 ]; - -internalField uniform 0.33; - -boundaryField -{ - bottom - { - type fixedValue; - value uniform 0; - } - - top - { - type inletOutlet; - inletValue uniform 0; - } - - walls - { - type zeroGradient; - } - - frontBack - { - type empty; - } - -} - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/bed/0/epsilon b/tutorials/multiphase/twoPhaseEulerFoam/bed/0/epsilon deleted file mode 100644 index 79fe0eda3fb27eb2a2c43092f0df67f3bb7f12e4..0000000000000000000000000000000000000000 --- a/tutorials/multiphase/twoPhaseEulerFoam/bed/0/epsilon +++ /dev/null @@ -1,49 +0,0 @@ -/*--------------------------------*- 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 10.0; - -boundaryField -{ - bottom - { - type fixedValue; - value uniform 10.0; - } - - top - { - type inletOutlet; - phi phi2; - inletValue uniform 10.0; - value uniform 10.0; - } - - walls - { - type zeroGradient; - } - - frontBack - { - type empty; - } - -} - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/bed/0/k b/tutorials/multiphase/twoPhaseEulerFoam/bed/0/k deleted file mode 100644 index 188184e8b4dbf16123ec79623d9d19789baa973f..0000000000000000000000000000000000000000 --- a/tutorials/multiphase/twoPhaseEulerFoam/bed/0/k +++ /dev/null @@ -1,49 +0,0 @@ -/*--------------------------------*- 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 1.0; - -boundaryField -{ - bottom - { - type fixedValue; - value uniform 1.0; - } - - top - { - type inletOutlet; - phi phi2; - inletValue uniform 1.0; - value uniform 1.0; - } - - walls - { - type zeroGradient; - } - - frontBack - { - type empty; - } - -} - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/bed/0/p b/tutorials/multiphase/twoPhaseEulerFoam/bed/0/p deleted file mode 100644 index e5e362d9581416422955cfda91f20e06e4e30c0b..0000000000000000000000000000000000000000 --- a/tutorials/multiphase/twoPhaseEulerFoam/bed/0/p +++ /dev/null @@ -1,47 +0,0 @@ -/*--------------------------------*- 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 0; - -boundaryField -{ - bottom - { - type fixedFluxPressure; - value $internalField; - } - - top - { - type fixedValue; - value $internalField; - } - - walls - { - type fixedFluxPressure; - value $internalField; - } - - frontBack - { - type empty; - } -} - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/bed/constant/MRFProperties b/tutorials/multiphase/twoPhaseEulerFoam/bed/constant/MRFProperties deleted file mode 100644 index fd749d03963870c76ab4a9d85ad86bd95c33a71f..0000000000000000000000000000000000000000 --- a/tutorials/multiphase/twoPhaseEulerFoam/bed/constant/MRFProperties +++ /dev/null @@ -1,20 +0,0 @@ -/*--------------------------------*- 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 MRFProperties; -} -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -// none - -// ************************************************************************* // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/bed/constant/RASProperties b/tutorials/multiphase/twoPhaseEulerFoam/bed/constant/RASProperties deleted file mode 100644 index bd099a7e258af8451964c7746334da298510e1f0..0000000000000000000000000000000000000000 --- a/tutorials/multiphase/twoPhaseEulerFoam/bed/constant/RASProperties +++ /dev/null @@ -1,23 +0,0 @@ -/*--------------------------------*- 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 RASProperties; -} -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -turbulence on; - -printCoeffs on; - - -// ************************************************************************* // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/bed/constant/filterProperties b/tutorials/multiphase/twoPhaseEulerFoam/bed/constant/filterProperties deleted file mode 100644 index 19c054ea8c0818836cff1abca6d55e2af619b76c..0000000000000000000000000000000000000000 --- a/tutorials/multiphase/twoPhaseEulerFoam/bed/constant/filterProperties +++ /dev/null @@ -1,27 +0,0 @@ -/*--------------------------------*- 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 filterProperties; -} -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -filter off; - -filterNormal ( 0 0 1 ); - -filterPosition filterPosition [ 0 1 0 0 0 ] ( 0 0 0.02 ); - -filterThickness filterThickness [ 0 1 0 0 0 ] 1e-06; - - -// ************************************************************************* // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/bed/constant/g b/tutorials/multiphase/twoPhaseEulerFoam/bed/constant/g deleted file mode 100644 index 897615a50df92736e7b9c64bb2e64fba539496fc..0000000000000000000000000000000000000000 --- a/tutorials/multiphase/twoPhaseEulerFoam/bed/constant/g +++ /dev/null @@ -1,22 +0,0 @@ -/*--------------------------------*- 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 0 -9.81 ); - - -// ************************************************************************* // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/bed/constant/interfacialProperties b/tutorials/multiphase/twoPhaseEulerFoam/bed/constant/interfacialProperties deleted file mode 100644 index d03f23a29514c057e30346994f865f551148ce69..0000000000000000000000000000000000000000 --- a/tutorials/multiphase/twoPhaseEulerFoam/bed/constant/interfacialProperties +++ /dev/null @@ -1,26 +0,0 @@ -/*--------------------------------*- 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 interfacialProperties; -} -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -dragModel1 GidaspowSchillerNaumann; - -dragModel2 GidaspowSchillerNaumann; - -dragPhase "1"; - -residualSlip 0; - -// ************************************************************************* // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/bed/constant/kineticTheoryProperties b/tutorials/multiphase/twoPhaseEulerFoam/bed/constant/kineticTheoryProperties deleted file mode 100644 index 2df50542e555669990b2caa032cf9aee7f92b8ad..0000000000000000000000000000000000000000 --- a/tutorials/multiphase/twoPhaseEulerFoam/bed/constant/kineticTheoryProperties +++ /dev/null @@ -1,52 +0,0 @@ -/*--------------------------------*- 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 kineticTheoryProperties; -} -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -kineticTheory off; - -equilibrium on; - -e e [ 0 0 0 0 0 0 0 ] 0.9; - -alphaMax alphaMax [ 0 0 0 0 0 0 0 ] 0.6; - -alphaMinFriction alphaMinFriction [ 0 0 0 0 0 0 0 ] 0.5; - -Fr Fr [ 1 -1 -2 0 0 0 0 ] 0.05; - -eta eta [ 0 0 0 0 0 0 0 ] 2; - -p p [ 0 0 0 0 0 0 0 ] 5; - -phi phi [ 0 0 0 0 0 0 0 ] 25; - -viscosityModel Syamlal; - -conductivityModel HrenyaSinclair; - -granularPressureModel Lun; - -frictionalStressModel JohnsonJackson; - -radialModel SinclairJackson; - -HrenyaSinclairCoeffs -{ - L L [ 0 1 0 0 0 0 0 ] 0.0005; -} - - -// ************************************************************************* // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/bed/constant/polyMesh/blockMeshDict b/tutorials/multiphase/twoPhaseEulerFoam/bed/constant/polyMesh/blockMeshDict deleted file mode 100644 index 7f21fd90a0a466ac00af58bc28870fe0fd81c280..0000000000000000000000000000000000000000 --- a/tutorials/multiphase/twoPhaseEulerFoam/bed/constant/polyMesh/blockMeshDict +++ /dev/null @@ -1,92 +0,0 @@ -/*--------------------------------*- 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.0; - -vertices -( - - (0 0.0 0) - (0.5 0.0 0) - (0.5 0.0 2.50) - (0 0.0 2.50) - (0 0.1 0) - (0.5 0.1 0) - (0.5 0.1 2.50) - (0 0.1 2.50) - -); - -// 7 ---------- 6 -// /| /| -// / | / | z -// 3 ---------- 2 | ^ -// | | | | | y -// | 4 --------|- 5 | / -// | / | / | / -// |/ |/ |/ -// 0 ---------- 1 -----> x -blocks -( - hex (0 1 5 4 3 2 6 7) (25 1 125) simpleGrading (1 1 1) -); - -edges -( -); - -boundary -( - top - { - type patch; - faces - ( - (3 2 6 7) - ); - } - - bottom - { - type patch; - faces - ( - (1 0 4 5) - ); - } - - walls - { - type wall; - faces - ( - (2 1 5 6) - (0 3 7 4) - ); - } - - frontBack - { - type empty; - faces - ( - (0 1 2 3) - (7 6 5 4) - ); - } -); - -// ************************************************************************* // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/bed/constant/ppProperties b/tutorials/multiphase/twoPhaseEulerFoam/bed/constant/ppProperties deleted file mode 100644 index 8188872bbc75b7038e2cedec11022db7371e4097..0000000000000000000000000000000000000000 --- a/tutorials/multiphase/twoPhaseEulerFoam/bed/constant/ppProperties +++ /dev/null @@ -1,29 +0,0 @@ -/*--------------------------------*- 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 ppProperties; -} -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -preAlphaExp 500; - -expMax 1000; - -alphaMax 0.6; - -g0 g0 [ 1 -1 -2 0 0 0 0 ] 1000; - -packingLimiter no; - - -// ************************************************************************* // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/bed/constant/transportProperties b/tutorials/multiphase/twoPhaseEulerFoam/bed/constant/transportProperties deleted file mode 100644 index 6d05c03c615194a5d93c828ac477e6e029df5161..0000000000000000000000000000000000000000 --- a/tutorials/multiphase/twoPhaseEulerFoam/bed/constant/transportProperties +++ /dev/null @@ -1,38 +0,0 @@ -/*--------------------------------*- 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 transportProperties; -} -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -phase1 -{ - rho 2640; - nu 1e-06; - d 0.00048; -} - -phase2 -{ - rho 1.28; - nu 1.328e-05; - d 1; -} - -Cvm 0; - -Cl 0; - -Ct 0; - -// ************************************************************************* // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/bed/system/controlDict b/tutorials/multiphase/twoPhaseEulerFoam/bed/system/controlDict deleted file mode 100644 index 98888b320fd581fab1a1a7744df63b8c67d8ea46..0000000000000000000000000000000000000000 --- a/tutorials/multiphase/twoPhaseEulerFoam/bed/system/controlDict +++ /dev/null @@ -1,95 +0,0 @@ -/*--------------------------------*- 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 twoPhaseEulerFoam; - -startFrom latestTime; - -startTime 0; - -stopAt endTime; - -endTime 10; - -deltaT 0.001; - -writeControl adjustableRunTime; - -writeInterval 0.1; - -purgeWrite 0; - -writeFormat binary; - -writePrecision 6; - -writeCompression uncompressed; - -timeFormat general; - -timePrecision 6; - -runTimeModifiable on; - -adjustTimeStep yes; - -maxCo 0.5; - -maxDeltaT 1; - -functions -{ - fieldAverage1 - { - type fieldAverage; - functionObjectLibs ( "libfieldFunctionObjects.so" ); - outputControl outputTime; - fields - ( - U1 - { - mean on; - prime2Mean off; - base time; - } - - U2 - { - mean on; - prime2Mean off; - base time; - } - - alpha1 - { - mean on; - prime2Mean off; - base time; - } - - p - { - mean on; - prime2Mean off; - base time; - } - ); - } -} - - -// ************************************************************************* // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/bed/system/fvSchemes b/tutorials/multiphase/twoPhaseEulerFoam/bed/system/fvSchemes deleted file mode 100644 index 5d3f30355dcd4d4fd8ce3032923e9dd7a0ead4f6..0000000000000000000000000000000000000000 --- a/tutorials/multiphase/twoPhaseEulerFoam/bed/system/fvSchemes +++ /dev/null @@ -1,70 +0,0 @@ -/*--------------------------------*- 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(phi1,U1) Gauss limitedLinearV 1; - div(phi2,U2) Gauss limitedLinearV 1; - div(phi2,k) Gauss limitedLinear 1; - div(phi2,epsilon) Gauss limitedLinear 1; - div(phi,alpha1) Gauss limitedLinear01 1; - div(phir,alpha1) Gauss limitedLinear01 1; - div(phi,Theta) Gauss limitedLinear 1; - div(Rc1) Gauss linear; - div(Rc2) Gauss linear; -} - -laplacianSchemes -{ - default none; - laplacian(nuEff1,U1) Gauss linear corrected; - laplacian(nuEff2,U2) Gauss linear corrected; - laplacian(Dp,p) Gauss linear corrected; - laplacian(alpha1PpMag,alpha1) Gauss linear corrected; - laplacian(DkEff,k) Gauss linear corrected; - laplacian(DepsilonEff,epsilon) Gauss linear corrected; -} - -interpolationSchemes -{ - default linear; -} - -snGradSchemes -{ - default corrected; -} - -fluxRequired -{ - default no; - p ; -} - - -// ************************************************************************* // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/bed/system/fvSolution b/tutorials/multiphase/twoPhaseEulerFoam/bed/system/fvSolution deleted file mode 100644 index 357d2a8442c2eeae0580244deb18b4149a419428..0000000000000000000000000000000000000000 --- a/tutorials/multiphase/twoPhaseEulerFoam/bed/system/fvSolution +++ /dev/null @@ -1,78 +0,0 @@ -/*--------------------------------*- 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 -{ - "alpha1.*" - { - nAlphaCorr 1; - nAlphaSubCycles 3; - - solver PCG; - preconditioner DIC; - tolerance 1e-10; - relTol 0.1; - } - - p - { - solver GAMG; - tolerance 1e-08; - relTol 0.1; - smoother DIC; - nPreSweeps 0; - nPostSweeps 2; - nFinestSweeps 2; - cacheAgglomeration true; - nCellsInCoarsestLevel 10; - agglomerator faceAreaPair; - mergeLevels 1; - } - - pFinal - { - $p; - tolerance 1e-08; - relTol 0; - } - - "(k|epsilon)" - { - solver PBiCG; - preconditioner DILU; - tolerance 1e-05; - relTol 0.1; - } - - "(k|epsilon)Final" - { - $k; - relTol 0; - } -} - -PIMPLE -{ - nCorrectors 2; - nNonOrthogonalCorrectors 0; - correctAlpha yes; - - pRefCell 0; - pRefValue 0; -} - -// ************************************************************************* // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/bed2/0/Theta b/tutorials/multiphase/twoPhaseEulerFoam/bed2/0/Theta deleted file mode 100644 index 6091b20640f03fad346cd26368c23a8ccb728fa3..0000000000000000000000000000000000000000 --- a/tutorials/multiphase/twoPhaseEulerFoam/bed2/0/Theta +++ /dev/null @@ -1,42 +0,0 @@ -/*--------------------------------*- 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 1.0e-4; - -boundaryField -{ - walls - { - type zeroGradient; - } - outlet - { - type zeroGradient; - } - inlet - { - type fixedValue; - value uniform 1.0e-4; - } - frontAndBackPlanes - { - type empty; - } -} - -// ************************************************************************* // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/bed2/0/U1 b/tutorials/multiphase/twoPhaseEulerFoam/bed2/0/U1 deleted file mode 100644 index 699b0ed4052f838d32a5f5f39cf64044c2d46bfa..0000000000000000000000000000000000000000 --- a/tutorials/multiphase/twoPhaseEulerFoam/bed2/0/U1 +++ /dev/null @@ -1,45 +0,0 @@ -/*--------------------------------*- 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 volVectorField; - object U1; -} -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -dimensions [0 1 -1 0 0 0 0]; - -internalField uniform (0 0 0); - -boundaryField -{ - walls - { - type fixedValue; - value uniform (0 0 0); - } - outlet - { - type pressureInletOutletVelocity; - phi phi1; - value $internalField; - } - inlet - { - type fixedValue; - value uniform (0 0 0); - } - frontAndBackPlanes - { - type empty; - } -} - -// ************************************************************************* // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/bed2/0/U2 b/tutorials/multiphase/twoPhaseEulerFoam/bed2/0/U2 deleted file mode 100644 index 94d9852112bd6b4cc5c10c0159b1a0a63479d647..0000000000000000000000000000000000000000 --- a/tutorials/multiphase/twoPhaseEulerFoam/bed2/0/U2 +++ /dev/null @@ -1,45 +0,0 @@ -/*--------------------------------*- 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 volVectorField; - object U2; -} -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -dimensions [0 1 -1 0 0 0 0]; - -internalField uniform (0 0.25 0); - -boundaryField -{ - walls - { - type fixedValue; - value uniform (0 0 0); - } - outlet - { - type pressureInletOutletVelocity; - phi phi2; - value $internalField; - } - inlet - { - type fixedValue; - value uniform (0 0.25 0); - } - frontAndBackPlanes - { - type empty; - } -} - -// ************************************************************************* // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/bed2/0/alpha1 b/tutorials/multiphase/twoPhaseEulerFoam/bed2/0/alpha1 deleted file mode 100644 index 488a51bf184b8955436ef1a9011d10f9843c8e45..0000000000000000000000000000000000000000 --- a/tutorials/multiphase/twoPhaseEulerFoam/bed2/0/alpha1 +++ /dev/null @@ -1,6047 +0,0 @@ -/*--------------------------------*- 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 alpha1; -} -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -dimensions [0 0 0 0 0 0 0]; - -internalField nonuniform List<scalar> -6000 -( -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0.55 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -) -; - -boundaryField -{ - walls - { - type zeroGradient; - } - outlet - { - type inletOutlet; - inletValue uniform 0; - } - inlet - { - type fixedValue; - value uniform 0; - } - frontAndBackPlanes - { - type empty; - } -} - -// ************************************************************************* // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/bed2/0/alpha1.org b/tutorials/multiphase/twoPhaseEulerFoam/bed2/0/alpha1.org deleted file mode 100644 index 21a248c82ef8aa8d384fb0b175ba21802a9bc213..0000000000000000000000000000000000000000 --- a/tutorials/multiphase/twoPhaseEulerFoam/bed2/0/alpha1.org +++ /dev/null @@ -1,46 +0,0 @@ -/*--------------------------------*- 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 alpha1; -} -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -dimensions [0 0 0 0 0 0 0]; - -internalField uniform 0; - -boundaryField -{ - inlet - { - type fixedValue; - value uniform 0; - } - - outlet - { - type inletOutlet; - inletValue uniform 0; - } - - walls - { - type zeroGradient; - } - - frontAndBackPlanes - { - type empty; - } -} - -// ************************************************************************* // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/bed2/0/epsilon b/tutorials/multiphase/twoPhaseEulerFoam/bed2/0/epsilon deleted file mode 100644 index 4ff943aac34460251e6bdbe47cc276215d1f766e..0000000000000000000000000000000000000000 --- a/tutorials/multiphase/twoPhaseEulerFoam/bed2/0/epsilon +++ /dev/null @@ -1,45 +0,0 @@ -/*--------------------------------*- 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 10.0; - -boundaryField -{ - walls - { - type zeroGradient; - } - outlet - { - type inletOutlet; - phi phi2; - inletValue uniform 10.0; - value uniform 10.0; - } - inlet - { - type fixedValue; - value uniform 10.0; - } - frontAndBackPlanes - { - type empty; - } -} - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/bed2/0/k b/tutorials/multiphase/twoPhaseEulerFoam/bed2/0/k deleted file mode 100644 index 6b3ddf98cffd1674871f61e8f5f47d38d23fcbc8..0000000000000000000000000000000000000000 --- a/tutorials/multiphase/twoPhaseEulerFoam/bed2/0/k +++ /dev/null @@ -1,45 +0,0 @@ -/*--------------------------------*- 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 1.0; - -boundaryField -{ - walls - { - type zeroGradient; - } - outlet - { - type inletOutlet; - phi phi2; - inletValue uniform 1.0; - value uniform 1.0; - } - inlet - { - type fixedValue; - value uniform 1.0; - } - frontAndBackPlanes - { - type empty; - } -} - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/bed2/0/p b/tutorials/multiphase/twoPhaseEulerFoam/bed2/0/p deleted file mode 100644 index 5b2c9cfa86f1a79371639e8ac1932bc0a602cb51..0000000000000000000000000000000000000000 --- a/tutorials/multiphase/twoPhaseEulerFoam/bed2/0/p +++ /dev/null @@ -1,44 +0,0 @@ -/*--------------------------------*- 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 0; - -boundaryField -{ - walls - { - type fixedFluxPressure; - value $internalField; - } - outlet - { - type fixedValue; - value $internalField; - } - inlet - { - type fixedFluxPressure; - value $internalField; - } - frontAndBackPlanes - { - type empty; - } -} - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/bed2/constant/MRFProperties b/tutorials/multiphase/twoPhaseEulerFoam/bed2/constant/MRFProperties deleted file mode 100644 index fd749d03963870c76ab4a9d85ad86bd95c33a71f..0000000000000000000000000000000000000000 --- a/tutorials/multiphase/twoPhaseEulerFoam/bed2/constant/MRFProperties +++ /dev/null @@ -1,20 +0,0 @@ -/*--------------------------------*- 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 MRFProperties; -} -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -// none - -// ************************************************************************* // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/bed2/constant/RASProperties b/tutorials/multiphase/twoPhaseEulerFoam/bed2/constant/RASProperties deleted file mode 100644 index bd099a7e258af8451964c7746334da298510e1f0..0000000000000000000000000000000000000000 --- a/tutorials/multiphase/twoPhaseEulerFoam/bed2/constant/RASProperties +++ /dev/null @@ -1,23 +0,0 @@ -/*--------------------------------*- 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 RASProperties; -} -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -turbulence on; - -printCoeffs on; - - -// ************************************************************************* // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/bed2/constant/filterProperties b/tutorials/multiphase/twoPhaseEulerFoam/bed2/constant/filterProperties deleted file mode 100644 index 19c054ea8c0818836cff1abca6d55e2af619b76c..0000000000000000000000000000000000000000 --- a/tutorials/multiphase/twoPhaseEulerFoam/bed2/constant/filterProperties +++ /dev/null @@ -1,27 +0,0 @@ -/*--------------------------------*- 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 filterProperties; -} -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -filter off; - -filterNormal ( 0 0 1 ); - -filterPosition filterPosition [ 0 1 0 0 0 ] ( 0 0 0.02 ); - -filterThickness filterThickness [ 0 1 0 0 0 ] 1e-06; - - -// ************************************************************************* // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/bed2/constant/g b/tutorials/multiphase/twoPhaseEulerFoam/bed2/constant/g deleted file mode 100644 index e0ac2653b5b370ad62f6770588121d30cac51627..0000000000000000000000000000000000000000 --- a/tutorials/multiphase/twoPhaseEulerFoam/bed2/constant/g +++ /dev/null @@ -1,22 +0,0 @@ -/*--------------------------------*- 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/twoPhaseEulerFoam/bed2/constant/interfacialProperties b/tutorials/multiphase/twoPhaseEulerFoam/bed2/constant/interfacialProperties deleted file mode 100644 index 89a788daeb62f0dfb14ef9b8aa9b233881b0f01c..0000000000000000000000000000000000000000 --- a/tutorials/multiphase/twoPhaseEulerFoam/bed2/constant/interfacialProperties +++ /dev/null @@ -1,26 +0,0 @@ -/*--------------------------------*- 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 interfacialProperties; -} -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -dragModel1 GidaspowErgunWenYu; - -dragModel2 GidaspowErgunWenYu; - -dragPhase "1"; - -residualSlip 0; - -// ************************************************************************* // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/bed2/constant/kineticTheoryProperties b/tutorials/multiphase/twoPhaseEulerFoam/bed2/constant/kineticTheoryProperties deleted file mode 100644 index 84660d86278e0440cba0defddad073cfa34caf66..0000000000000000000000000000000000000000 --- a/tutorials/multiphase/twoPhaseEulerFoam/bed2/constant/kineticTheoryProperties +++ /dev/null @@ -1,52 +0,0 @@ -/*--------------------------------*- 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 kineticTheoryProperties; -} -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -kineticTheory on; - -equilibrium on; - -e e [ 0 0 0 0 0 0 0 ] 0.8; - -alphaMax alphaMax [ 0 0 0 0 0 0 0 ] 0.62; - -alphaMinFriction alphaMinFriction [ 0 0 0 0 0 0 0 ] 0.65; - -Fr Fr [ 1 -1 -2 0 0 0 0 ] 0.05; - -eta eta [ 0 0 0 0 0 0 0 ] 2; - -p p [ 0 0 0 0 0 0 0 ] 5; - -phi phi [ 0 0 0 0 0 0 0 ] 0; - -viscosityModel Gidaspow; - -conductivityModel Gidaspow; - -granularPressureModel Lun; - -frictionalStressModel JohnsonJackson; - -radialModel SinclairJackson; - -HrenyaSinclairCoeffs -{ - L L [ 0 1 0 0 0 0 0 ] 0.0005; -} - - -// ************************************************************************* // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/bed2/constant/polyMesh/blockMeshDict b/tutorials/multiphase/twoPhaseEulerFoam/bed2/constant/polyMesh/blockMeshDict deleted file mode 100644 index 94a513e43eba526eb723491969ecc74aea1f42b6..0000000000000000000000000000000000000000 --- a/tutorials/multiphase/twoPhaseEulerFoam/bed2/constant/polyMesh/blockMeshDict +++ /dev/null @@ -1,82 +0,0 @@ -/*--------------------------------*- 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.01) - (0.15 0 -0.01) - (0.15 1 -0.01) - (0 1 -0.01) - (0 0 0.01) - (0.15 0 0.01) - (0.15 1 0.01) - (0 1 0.01) -); - -blocks -( - hex (0 1 2 3 4 5 6 7) (30 200 1) simpleGrading (1 1 1) -); - -edges -( -); - -boundary -( - inlet - { - type patch; - faces - ( - (1 5 4 0) - ); - } - outlet - { - type patch; - faces - ( - (3 7 6 2) - ); - } - walls - { - type wall; - faces - ( - (0 4 7 3) - (2 6 5 1) - ); - } - frontAndBackPlanes - { - type empty; - faces - ( - (0 3 2 1) - (4 5 6 7) - ); - } -); - -mergePatchPairs -( -); - -// ************************************************************************* // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/bed2/constant/polyMesh/boundary b/tutorials/multiphase/twoPhaseEulerFoam/bed2/constant/polyMesh/boundary deleted file mode 100644 index 56005a65f519ee1c73b35817914a998ccccf6e50..0000000000000000000000000000000000000000 --- a/tutorials/multiphase/twoPhaseEulerFoam/bed2/constant/polyMesh/boundary +++ /dev/null @@ -1,46 +0,0 @@ -/*--------------------------------*- 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 30; - startFace 11770; - } - outlet - { - type patch; - nFaces 30; - startFace 11800; - } - walls - { - type wall; - nFaces 400; - startFace 11830; - } - frontAndBackPlanes - { - type empty; - nFaces 12000; - startFace 12230; - } -) - -// ************************************************************************* // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/bed2/constant/ppProperties b/tutorials/multiphase/twoPhaseEulerFoam/bed2/constant/ppProperties deleted file mode 100644 index f6416561c0ae471b7d9191871e2c6bcd33667bda..0000000000000000000000000000000000000000 --- a/tutorials/multiphase/twoPhaseEulerFoam/bed2/constant/ppProperties +++ /dev/null @@ -1,29 +0,0 @@ -/*--------------------------------*- 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 ppProperties; -} -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -preAlphaExp 500; - -expMax 1000; - -alphaMax 0.62; - -g0 g0 [ 1 -1 -2 0 0 0 0 ] 0; - -packingLimiter no; - - -// ************************************************************************* // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/bed2/constant/transportProperties b/tutorials/multiphase/twoPhaseEulerFoam/bed2/constant/transportProperties deleted file mode 100644 index 1afd6e92c52bc8aa1afe3bf34f2b086f99c886a0..0000000000000000000000000000000000000000 --- a/tutorials/multiphase/twoPhaseEulerFoam/bed2/constant/transportProperties +++ /dev/null @@ -1,36 +0,0 @@ -/*--------------------------------*- 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 transportProperties; -} -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -phase1 -{ - rho 2500; - nu 1e-06; - d 0.0003; -} - -phase2 -{ - rho 1.2; - nu 1.5e-05; - d 1; -} - -Cvm 0; -Cl 0; -Ct 0; - -// ************************************************************************* // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/bed2/system/controlDict b/tutorials/multiphase/twoPhaseEulerFoam/bed2/system/controlDict deleted file mode 100644 index 0b9f0e2e9ce22faa0c22d63b5a22901c2f45ef6b..0000000000000000000000000000000000000000 --- a/tutorials/multiphase/twoPhaseEulerFoam/bed2/system/controlDict +++ /dev/null @@ -1,95 +0,0 @@ -/*--------------------------------*- 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 twoPhaseEulerFoam; - -startFrom latestTime; - -startTime 0; - -stopAt endTime; - -endTime 2; - -deltaT 0.0005; - -writeControl adjustableRunTime; - -writeInterval 0.01; - -purgeWrite 0; - -writeFormat ascii; - -writePrecision 6; - -writeCompression uncompressed; - -timeFormat general; - -timePrecision 6; - -runTimeModifiable on; - -adjustTimeStep no; - -maxCo 0.9; - -maxDeltaT 1e-05; - -functions -{ - fieldAverage1 - { - type fieldAverage; - functionObjectLibs ( "libfieldFunctionObjects.so" ); - outputControl outputTime; - fields - ( - U1 - { - mean on; - prime2Mean off; - base time; - } - - U2 - { - mean on; - prime2Mean off; - base time; - } - - alpha1 - { - mean on; - prime2Mean off; - base time; - } - - p - { - mean on; - prime2Mean off; - base time; - } - ); - } -} - - -// ************************************************************************* // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/bed2/system/fvSchemes b/tutorials/multiphase/twoPhaseEulerFoam/bed2/system/fvSchemes deleted file mode 100644 index 86f7b1bf4b4780d34afbe7d204f8915df6df493e..0000000000000000000000000000000000000000 --- a/tutorials/multiphase/twoPhaseEulerFoam/bed2/system/fvSchemes +++ /dev/null @@ -1,72 +0,0 @@ -/*--------------------------------*- 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(phi1,U1) Gauss limitedLinearV 1; - div(phi2,U2) Gauss limitedLinearV 1; - div(phi2,k) Gauss limitedLinear 1; - div(phi2,epsilon) Gauss limitedLinear 1; - div(phi,alpha1) Gauss limitedLinear01 1; - div(phir,alpha1) Gauss limitedLinear01 1; - div(phi,Theta) Gauss limitedLinear 1; - div(Rc1) Gauss linear; - div(Rc2) Gauss linear; -} - -laplacianSchemes -{ - default none; - laplacian(nuEff1,U1) Gauss linear corrected; - laplacian(nuEff2,U2) Gauss linear corrected; - laplacian(Dp,p) Gauss linear corrected; - laplacian(alpha1PpMag,alpha1) Gauss linear corrected; - laplacian(Galpha1f,alpha1) Gauss linear corrected; - laplacian(DkEff,k) Gauss linear corrected; - laplacian(DepsilonEff,epsilon) Gauss linear corrected; - laplacian(kappa,Theta) Gauss linear corrected; -} - -interpolationSchemes -{ - default linear; -} - -snGradSchemes -{ - default corrected; -} - -fluxRequired -{ - default no; - p ; -} - - -// ************************************************************************* // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/bed2/system/fvSolution b/tutorials/multiphase/twoPhaseEulerFoam/bed2/system/fvSolution deleted file mode 100644 index efd034ad8bf106537ea18fca8bcfbd9f2b90e3cb..0000000000000000000000000000000000000000 --- a/tutorials/multiphase/twoPhaseEulerFoam/bed2/system/fvSolution +++ /dev/null @@ -1,76 +0,0 @@ -/*--------------------------------*- 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 -{ - alpha1 - { - nAlphaCorr 1; - nAlphaSubCycles 3; - } - - p - { - solver GAMG; - tolerance 1e-08; - relTol 0.1; - smoother DIC; - nPreSweeps 0; - nPostSweeps 2; - nFinestSweeps 2; - cacheAgglomeration true; - nCellsInCoarsestLevel 10; - agglomerator faceAreaPair; - mergeLevels 1; - } - - pFinal - { - $p; - tolerance 1e-08; - relTol 0; - } - - "(k|epsilon)" - { - solver PBiCG; - preconditioner DILU; - tolerance 1e-05; - relTol 0.1; - } - - "(k|epsilon)Final" - { - solver PBiCG; - preconditioner DILU; - tolerance 1e-05; - relTol 0; - } -} - -PIMPLE -{ - nCorrectors 2; - nNonOrthogonalCorrectors 0; - correctAlpha yes; - - pRefCell 0; - pRefValue 0; -} - - -// ************************************************************************* // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/bed2/system/setFieldsDict b/tutorials/multiphase/twoPhaseEulerFoam/bed2/system/setFieldsDict deleted file mode 100644 index 8347405ba76b4e99de866bf32c536313cec19d29..0000000000000000000000000000000000000000 --- a/tutorials/multiphase/twoPhaseEulerFoam/bed2/system/setFieldsDict +++ /dev/null @@ -1,23 +0,0 @@ -/*--------------------------------*- 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 alpha1 0 ); - -regions ( boxToCell { box ( 0 0 -0.1 ) ( 0.15 0.5 0.1 ) ; fieldValues ( volScalarFieldValue alpha1 0.55 ) ; } ); - - -// ************************************************************************* // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/0/Theta b/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/0/Theta deleted file mode 100644 index 523be90f325771799ebe37548e2fb4e5e8b460e9..0000000000000000000000000000000000000000 --- a/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/0/Theta +++ /dev/null @@ -1,48 +0,0 @@ -/*--------------------------------*- 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; - phi phi1; - inletValue uniform 1.0e-7; - value uniform 1.0e-7; - } - - walls - { - type zeroGradient; - } - - defaultFaces - { - type empty; - } -} - -// ************************************************************************* // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/0/U1 b/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/0/U1 deleted file mode 100644 index 9e7960e63ef9035bae833bf14afcc505ec4694da..0000000000000000000000000000000000000000 --- a/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/0/U1 +++ /dev/null @@ -1,1956 +0,0 @@ -/*--------------------------------*- 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 volVectorField; - object U1; -} -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -dimensions [0 1 -1 0 0 0 0]; - -internalField nonuniform List<vector> -1875 -( -(0.235741 0.282915 0) -(0.643036 0.399243 0) -(0.656185 0.509736 0) -(0.636409 0.544659 0) -(0.620127 0.564227 0) -(0.618713 0.561656 0) -(0.624412 0.553842 0) -(0.632129 0.542499 0) -(0.629964 0.532026 0) -(0.624875 0.526406 0) -(0.614482 0.526789 0) -(0.599004 0.532843 0) -(0.577409 0.553691 0) -(0.530174 0.581747 0) -(0.467086 0.62077 0) -(0.341265 0.702532 0) -(0.200802 0.714208 0) -(0.165579 0.724117 0) -(0.0823803 0.878697 0) -(-0.016522 0.926312 0) -(-0.226396 0.75159 0) -(-0.179979 0.678163 0) -(-0.399049 0.427978 0) -(-0.566877 0.274105 0) -(-0.384263 -0.0548673 0) -(0.0716513 -0.439321 0) -(0.279506 -0.152191 0) -(0.184572 0.1313 0) -(0.175589 0.255174 0) -(0.184014 0.271204 0) -(0.208684 0.269064 0) -(0.242769 0.248253 0) -(0.280598 0.228197 0) -(0.319307 0.217199 0) -(0.34987 0.217243 0) -(0.381907 0.223478 0) -(0.424078 0.230925 0) -(0.428005 0.270264 0) -(0.382643 0.307171 0) -(0.372617 0.391425 0) -(0.258543 0.50144 0) -(0.0953053 0.676366 0) -(0.104968 0.742667 0) -(0.096802 0.869526 0) -(0.139361 0.870893 0) -(0.0573226 0.667963 0) -(0.214903 0.561766 0) -(0.0766779 0.612272 0) -(-0.122334 -0.0156288 0) -(-0.279094 -0.521725 0) -(-0.0176985 -0.513921 0) -(0.0347137 -0.042279 0) -(-0.0122756 0.189036 0) -(0.0400778 0.115918 0) -(0.127855 0.0810941 0) -(0.180943 0.0966721 0) -(0.198338 0.136208 0) -(0.208426 0.154902 0) -(0.247423 0.163264 0) -(0.249173 0.210267 0) -(0.218257 0.201626 0) -(0.161338 0.201241 0) -(0.176038 0.26962 0) -(0.0915893 0.343315 0) -(0.0809896 0.414782 0) -(-0.0331324 0.566673 0) -(-0.122711 0.595887 0) -(-0.0631875 0.636468 0) -(-0.0752413 0.772388 0) -(0.016323 0.787342 0) -(-0.00494172 0.556271 0) -(0.168714 0.358189 0) -(0.0777835 0.477472 0) -(0.0848983 0.117252 0) -(-0.150044 -0.530939 0) -(-0.00246017 -0.543038 0) -(0.0310676 0.0203172 0) -(-0.00859394 0.242012 0) -(0.0432859 0.157066 0) -(0.0739057 0.132058 0) -(0.0769579 0.160969 0) -(0.0543572 0.201658 0) -(0.0281194 0.187048 0) -(0.0597751 0.160184 0) -(0.0150864 0.204361 0) -(-0.0627548 0.330466 0) -(-0.125905 0.384734 0) -(-0.162897 0.409445 0) -(-0.176189 0.432821 0) -(-0.164775 0.478269 0) -(-0.170618 0.523923 0) -(-0.108591 0.511002 0) -(-0.126957 0.573263 0) -(-0.12712 0.734609 0) -(-0.0845458 0.759789 0) -(0.0331765 0.480641 0) -(0.101535 0.455155 0) -(0.010038 0.657924 0) -(0.0613247 0.491649 0) -(-0.0891678 -0.313494 0) -(0.000978649 -0.577408 0) -(-0.0152532 -0.125008 0) -(-0.00602979 0.0905946 0) -(0.0792542 -0.0215229 0) -(0.0448018 -0.0383249 0) -(0.0212028 0.0839119 0) -(-0.0733629 0.190164 0) -(-0.106851 0.162443 0) -(-0.143221 0.168897 0) -(-0.218732 0.293125 0) -(-0.226009 0.313401 0) -(-0.230132 0.296989 0) -(-0.213528 0.316163 0) -(-0.213571 0.346585 0) -(-0.189509 0.381493 0) -(-0.166401 0.381986 0) -(-0.167863 0.465124 0) -(-0.273715 0.550543 0) -(-0.282759 0.685692 0) -(-0.144366 0.557903 0) -(0.0228787 0.269495 0) -(0.0339209 0.413566 0) -(-0.0446192 0.53295 0) -(0.0689717 0.338812 0) -(-0.0777225 -0.43038 0) -(0.00337122 -0.510514 0) -(-0.0233767 -0.0465083 0) -(-0.0190977 0.00964726 0) -(0.0445354 -0.0085983 0) -(-0.0290037 0.0996159 0) -(-0.0714682 0.256276 0) -(-0.141746 0.328702 0) -(-0.146813 0.298179 0) -(-0.220543 0.313735 0) -(-0.23063 0.316241 0) -(-0.215578 0.326605 0) -(-0.208755 0.351326 0) -(-0.207563 0.378341 0) -(-0.213012 0.392876 0) -(-0.195504 0.408488 0) -(-0.207271 0.443346 0) -(-0.252032 0.56554 0) -(-0.293884 0.626126 0) -(-0.277673 0.649848 0) -(-0.140787 0.414759 0) -(-0.0173278 0.237967 0) -(-0.00146389 0.449184 0) -(-0.00921544 0.593652 0) -(0.0443774 0.468614 0) -(-0.101398 -0.313839 0) -(0.0119738 -0.498432 0) -(-0.0226992 -0.034944 0) -(-0.0302639 0.0354088 0) -(-0.0461342 0.015388 0) -(-0.117576 0.125313 0) -(-0.155351 0.28538 0) -(-0.184462 0.328131 0) -(-0.18456 0.310887 0) -(-0.222241 0.306776 0) -(-0.228316 0.283665 0) -(-0.22837 0.28412 0) -(-0.237535 0.312724 0) -(-0.243165 0.343901 0) -(-0.247758 0.359063 0) -(-0.238153 0.403224 0) -(-0.281716 0.490919 0) -(-0.301372 0.53859 0) -(-0.270337 0.559814 0) -(-0.209984 0.480356 0) -(-0.116475 0.162647 0) -(-0.0848917 0.035491 0) -(-0.0162196 0.389816 0) -(0.00804055 0.547809 0) -(0.000151655 0.44985 0) -(-0.0742983 -0.373666 0) -(0.0226381 -0.424386 0) -(-0.0159965 0.0889873 0) -(-0.0489576 0.158477 0) -(-0.0932017 0.135951 0) -(-0.131842 0.252351 0) -(-0.169339 0.376081 0) -(-0.208511 0.406023 0) -(-0.236303 0.386353 0) -(-0.263553 0.361001 0) -(-0.280644 0.323677 0) -(-0.307179 0.324151 0) -(-0.338995 0.354472 0) -(-0.351826 0.37819 0) -(-0.363041 0.394315 0) -(-0.38315 0.429582 0) -(-0.37241 0.460261 0) -(-0.278268 0.484737 0) -(-0.151544 0.43029 0) -(0.0354422 0.303739 0) -(0.133782 0.109043 0) -(0.0461519 0.155129 0) -(-0.0969644 0.350308 0) -(-0.0260814 0.555089 0) -(-0.0576074 0.509295 0) -(0.0638435 -0.36229 0) -(0.0397873 -0.401762 0) -(0.0132581 0.208607 0) -(-0.0503483 0.290348 0) -(-0.139116 0.21531 0) -(-0.124556 0.315017 0) -(-0.165117 0.47282 0) -(-0.166557 0.506898 0) -(-0.221453 0.47662 0) -(-0.240043 0.436727 0) -(-0.279175 0.417863 0) -(-0.311754 0.419931 0) -(-0.337641 0.423714 0) -(-0.343674 0.415868 0) -(-0.348424 0.416639 0) -(-0.338202 0.415982 0) -(-0.326527 0.394585 0) -(-0.268182 0.288732 0) -(-0.158546 0.159757 0) -(-0.00445933 0.0705633 0) -(0.00775141 0.0256028 0) -(-0.133256 0.248876 0) -(-0.293176 0.437779 0) -(-0.241293 0.497609 0) -(-0.106385 0.385991 0) -(0.177888 -0.400565 0) -(0.104788 -0.388573 0) -(-0.0393141 0.305495 0) -(0.0314174 0.518475 0) -(-0.141042 0.351628 0) -(-0.131753 0.347489 0) -(-0.135579 0.491547 0) -(-0.103922 0.56379 0) -(-0.14706 0.583771 0) -(-0.15107 0.5458 0) -(-0.194289 0.515018 0) -(-0.216366 0.477417 0) -(-0.24922 0.451599 0) -(-0.246783 0.428726 0) -(-0.247815 0.413063 0) -(-0.239395 0.371203 0) -(-0.235777 0.287928 0) -(-0.238215 0.186885 0) -(-0.245344 0.109425 0) -(-0.245592 0.0939 0) -(-0.361738 0.192577 0) -(-0.464709 0.325927 0) -(-0.459003 0.332914 0) -(-0.348293 0.260469 0) -(-0.10742 0.047654 0) -(0.186306 -0.315578 0) -(0.129128 -0.319172 0) -(-0.132039 0.274902 0) -(0.177386 0.599848 0) -(-0.00569923 0.545343 0) -(-0.107578 0.376326 0) -(-0.101016 0.458921 0) -(-0.0840805 0.549942 0) -(-0.0843162 0.575151 0) -(-0.0853267 0.566258 0) -(-0.0955599 0.546293 0) -(-0.112786 0.503591 0) -(-0.128787 0.447535 0) -(-0.144053 0.394955 0) -(-0.146489 0.356389 0) -(-0.155312 0.31432 0) -(-0.1612 0.291751 0) -(-0.209886 0.250728 0) -(-0.250769 0.216813 0) -(-0.290388 0.277419 0) -(-0.383223 0.404172 0) -(-0.430982 0.404915 0) -(-0.39869 0.288507 0) -(-0.261189 0.0585085 0) -(-0.117553 -0.154962 0) -(0.0284448 -0.228772 0) -(0.0532209 -0.256435 0) -(-0.0878511 0.284606 0) -(0.183881 0.519631 0) -(0.173214 0.831358 0) -(-0.0214973 0.609281 0) -(-0.0257563 0.51429 0) -(-0.0764946 0.571152 0) -(-0.0851017 0.58564 0) -(-0.0835825 0.5714 0) -(-0.0731847 0.539861 0) -(-0.0567206 0.494451 0) -(-0.0633894 0.448248 0) -(-0.0501005 0.412787 0) -(-0.0722485 0.397611 0) -(-0.0915791 0.372539 0) -(-0.123198 0.3627 0) -(-0.1621 0.385102 0) -(-0.201852 0.418073 0) -(-0.211814 0.505279 0) -(-0.292788 0.542034 0) -(-0.350848 0.410291 0) -(-0.298318 0.0969379 0) -(-0.221553 -0.0919876 0) -(-0.159419 -0.1918 0) -(-0.109666 -0.409249 0) -(-0.099626 -0.329575 0) -(0.0829934 0.275393 0) -(0.129316 0.445538 0) -(0.182822 0.937096 0) -(0.0586748 0.912372 0) -(-0.0366136 0.733023 0) -(-0.0693767 0.662879 0) -(-0.0958532 0.628555 0) -(-0.102424 0.566329 0) -(-0.0952108 0.509975 0) -(-0.0654833 0.460343 0) -(-0.0340469 0.416414 0) -(-0.0302951 0.387487 0) -(0.0100919 0.393965 0) -(-0.0102004 0.428929 0) -(-0.0131914 0.45272 0) -(-0.0536362 0.46925 0) -(-0.0302082 0.518055 0) -(-0.0824134 0.624794 0) -(-0.131488 0.629799 0) -(-0.190399 0.354308 0) -(-0.227804 0.0378569 0) -(-0.196371 -0.137285 0) -(-0.115147 -0.384143 0) -(-0.0925873 -0.652513 0) -(-0.129486 -0.47392 0) -(0.184737 0.0590685 0) -(0.0951174 0.279155 0) -(0.115851 0.929985 0) -(0.00536483 1.15476 0) -(-0.0612269 0.940058 0) -(-0.0913946 0.768869 0) -(-0.109165 0.66495 0) -(-0.103878 0.578309 0) -(-0.100924 0.478229 0) -(-0.0982537 0.409154 0) -(-0.0446602 0.363152 0) -(-0.0233506 0.344588 0) -(0.0221284 0.361135 0) -(0.0622751 0.404815 0) -(0.068573 0.476626 0) -(0.0397619 0.56955 0) -(0.044843 0.696141 0) -(0.00739304 0.784365 0) -(-0.0353837 0.682166 0) -(-0.054491 0.348148 0) -(-0.110365 0.0272955 0) -(-0.151626 -0.31712 0) -(-0.083404 -0.572871 0) -(-0.0299063 -0.795518 0) -(-0.076496 -0.56303 0) -(0.158467 -0.0433973 0) -(0.00265698 0.231616 0) -(0.0754251 0.912905 0) -(0.0273339 1.21539 0) -(0.0186149 1.05431 0) -(-0.0674814 0.773516 0) -(-0.0734814 0.603954 0) -(-0.072503 0.534852 0) -(-0.0512511 0.433518 0) -(-0.0689144 0.330904 0) -(-0.0333096 0.25889 0) -(0.00335975 0.24727 0) -(0.0385826 0.246643 0) -(0.086685 0.306052 0) -(0.109185 0.477149 0) -(0.107485 0.646506 0) -(0.060058 0.813502 0) -(0.0623319 0.809725 0) -(0.0660441 0.626911 0) -(0.0294839 0.31501 0) -(-0.0410107 -0.0413669 0) -(-0.0688077 -0.461737 0) -(-0.0451669 -0.675752 0) -(-0.0312537 -0.95119 0) -(-0.0282598 -0.627506 0) -(0.0931726 -0.0896422 0) -(-0.0535398 0.196147 0) -(0.03951 0.795993 0) -(0.0184638 1.17691 0) -(0.0483535 1.03713 0) -(0.01431 0.794962 0) -(0.0132507 0.536308 0) -(0.0092842 0.456988 0) -(0.0481602 0.349471 0) -(0.0701298 0.271648 0) -(0.0575455 0.225959 0) -(0.0785957 0.216094 0) -(0.0779246 0.224146 0) -(0.120944 0.31623 0) -(0.164705 0.532851 0) -(0.123465 0.754381 0) -(0.104467 0.817128 0) -(0.116549 0.764054 0) -(0.0831026 0.504635 0) -(0.128796 0.205998 0) -(-0.0138401 -0.0667637 0) -(0.0181645 -0.459589 0) -(-0.0128174 -0.68815 0) -(-0.017547 -0.974061 0) -(-0.00840551 -0.673361 0) -(0.00822702 -0.194852 0) -(-0.071645 0.168316 0) -(-0.0806822 0.737102 0) -(-0.0938222 1.0826 0) -(0.0177071 0.937794 0) -(0.0796967 0.718466 0) -(0.127064 0.444121 0) -(0.168919 0.315965 0) -(0.181978 0.203143 0) -(0.202663 0.173831 0) -(0.192463 0.177011 0) -(0.217227 0.208191 0) -(0.192131 0.26242 0) -(0.164929 0.411379 0) -(0.157545 0.664289 0) -(0.0948154 0.84731 0) -(0.111204 0.801222 0) -(0.0852142 0.662595 0) -(0.196797 0.409345 0) -(0.101225 0.247307 0) -(0.037499 -0.0453147 0) -(0.0418648 -0.437514 0) -(0.0305666 -0.654025 0) -(-0.0101884 -0.967798 0) -(0.00666966 -0.606389 0) -(-0.0466157 -0.106413 0) -(-0.0930025 0.223512 0) -(-0.103796 0.683087 0) -(-0.126081 0.946518 0) -(-0.0809068 0.714748 0) -(0.164119 0.56268 0) -(0.22365 0.41285 0) -(0.343769 0.284466 0) -(0.367632 0.226448 0) -(0.403446 0.226353 0) -(0.381248 0.259374 0) -(0.28092 0.285321 0) -(0.19021 0.389749 0) -(0.123542 0.639503 0) -(0.0822898 0.859198 0) -(0.0275014 0.845123 0) -(0.0478751 0.719529 0) -(0.1634 0.508388 0) -(0.18675 0.418961 0) -(-0.0188603 0.300859 0) -(0.112872 -0.139527 0) -(0.0319502 -0.397924 0) -(0.0413109 -0.611967 0) -(0.0121018 -0.911382 0) -(0.0292974 -0.520995 0) -(-0.0454483 -0.0342725 0) -(-0.0552005 0.244192 0) -(-0.0187108 0.641819 0) -(-0.00392448 0.945723 0) -(0.0590754 0.464378 0) -(0.193572 0.230904 0) -(0.360107 0.129977 0) -(0.457896 0.114731 0) -(0.449846 0.153839 0) -(0.35478 0.218934 0) -(0.282452 0.31836 0) -(0.135631 0.529179 0) -(-0.0104523 0.766662 0) -(-0.0699151 0.884932 0) -(-0.0798656 0.907075 0) -(-0.0180589 0.77165 0) -(0.0654196 0.572711 0) -(0.103478 0.504827 0) -(-0.0039403 0.466 0) -(-0.0164834 0.195092 0) -(0.0943815 -0.199648 0) -(0.0483169 -0.352399 0) -(0.0309815 -0.530705 0) -(0.0199486 -0.83714 0) -(0.0616991 -0.485384 0) -(-0.08931 0.0278569 0) -(-0.0369102 0.218205 0) -(-0.0710228 0.521819 0) -(0.129189 0.69364 0) -(0.300769 0.351698 0) -(0.43648 0.0142277 0) -(0.422976 -0.0116133 0) -(0.402254 0.019141 0) -(0.329033 0.116881 0) -(0.132185 0.332016 0) -(-0.0504714 0.58357 0) -(-0.164611 0.752304 0) -(-0.161356 0.819447 0) -(-0.140296 0.847766 0) -(-0.133019 0.780767 0) -(-0.0558104 0.565828 0) -(-0.0421847 0.481593 0) -(-0.0610841 0.429487 0) -(-0.0495913 0.385818 0) -(0.0701272 -0.00087012 0) -(0.0699393 -0.203695 0) -(0.0699017 -0.264919 0) -(0.0352785 -0.453343 0) -(0.0198059 -0.758114 0) -(0.0947532 -0.366002 0) -(-0.103995 0.1518 0) -(-0.0611994 0.255559 0) -(-0.136178 0.326725 0) -(0.0145911 0.296929 0) -(0.276856 0.05756 0) -(0.380361 0.019215 0) -(0.273045 0.0628518 0) -(-0.0187354 0.246248 0) -(-0.084113 0.384817 0) -(-0.173072 0.517818 0) -(-0.210301 0.654612 0) -(-0.216471 0.73272 0) -(-0.15641 0.783852 0) -(-0.111004 0.791076 0) -(-0.0919115 0.626045 0) -(-0.0382221 0.422521 0) -(-0.00374529 0.396448 0) -(0.0199982 0.277348 0) -(0.0807092 0.126763 0) -(0.137657 -0.107667 0) -(0.108744 -0.175782 0) -(0.0921292 -0.229546 0) -(0.0330253 -0.410571 0) -(0.0399913 -0.701655 0) -(0.0831855 -0.264682 0) -(-0.0525147 0.33668 0) -(-0.0995546 0.353966 0) -(-0.147808 0.345331 0) -(0.00114486 0.235027 0) -(0.0780509 0.17504 0) -(-0.130424 0.194343 0) -(-0.21737 0.246303 0) -(-0.282431 0.313825 0) -(-0.281029 0.384869 0) -(-0.298633 0.48192 0) -(-0.286344 0.560142 0) -(-0.204477 0.600066 0) -(-0.101962 0.589334 0) -(0.0154568 0.562593 0) -(0.104744 0.419933 0) -(0.113871 0.29179 0) -(0.114072 0.253422 0) -(0.144195 0.207784 0) -(0.137859 0.13119 0) -(0.179822 0.0103463 0) -(0.154117 -0.0125473 0) -(0.111143 -0.0821216 0) -(0.0452644 -0.277637 0) -(0.0322329 -0.578898 0) -(0.0587524 -0.204294 0) -(-0.0217904 0.535616 0) -(-0.0759713 0.560311 0) -(-0.0924362 0.477343 0) -(-0.0858707 0.335762 0) -(-0.222658 0.349394 0) -(-0.324933 0.382547 0) -(-0.372756 0.375995 0) -(-0.393928 0.392573 0) -(-0.403701 0.422262 0) -(-0.382142 0.48022 0) -(-0.330672 0.522744 0) -(-0.230309 0.531101 0) -(-0.106644 0.484111 0) -(0.0327251 0.428938 0) -(0.111603 0.400133 0) -(0.122368 0.377773 0) -(0.118555 0.363892 0) -(0.148874 0.320774 0) -(0.104056 0.262003 0) -(0.143294 0.132499 0) -(0.0727229 0.0733983 0) -(0.0822665 -0.029979 0) -(0.0216526 -0.216217 0) -(0.0338216 -0.49864 0) -(-0.0234396 -0.231193 0) -(0.0373678 0.582834 0) -(-0.017698 0.648052 0) -(0.0448454 0.683503 0) -(-0.0308462 0.625434 0) -(-0.121979 0.533731 0) -(-0.230161 0.47568 0) -(-0.282096 0.43059 0) -(-0.328778 0.427814 0) -(-0.353656 0.439371 0) -(-0.356971 0.45729 0) -(-0.333592 0.467845 0) -(-0.276499 0.433591 0) -(-0.206096 0.395726 0) -(-0.166571 0.380191 0) -(-0.122135 0.384489 0) -(-0.0749418 0.390556 0) -(-0.0191717 0.370048 0) -(0.0508939 0.338859 0) -(0.0781517 0.240278 0) -(0.107177 0.144706 0) -(0.0414861 0.0862876 0) -(0.0797925 -0.00775321 0) -(0.0192869 -0.169527 0) -(0.0241504 -0.438638 0) -(-0.081061 -0.281677 0) -(0.0680263 0.501908 0) -(0.00761151 0.592481 0) -(0.11237 0.650602 0) -(0.120222 0.692767 0) -(0.076381 0.640735 0) -(0.0435646 0.592202 0) -(-0.00704673 0.519488 0) -(-0.0529055 0.457091 0) -(-0.0945998 0.415788 0) -(-0.109221 0.39738 0) -(-0.128647 0.382119 0) -(-0.15085 0.343108 0) -(-0.165905 0.323666 0) -(-0.159186 0.272493 0) -(-0.178405 0.212053 0) -(-0.152347 0.200932 0) -(-0.106738 0.206092 0) -(-0.0409545 0.220547 0) -(0.0292831 0.205538 0) -(0.0480035 0.170426 0) -(0.0216452 0.0979804 0) -(0.0605892 0.00452084 0) -(0.0197604 -0.108866 0) -(0.0191903 -0.35583 0) -(-0.168087 -0.222241 0) -(0.124255 0.373472 0) -(0.100922 0.562734 0) -(0.107066 0.553002 0) -(0.111518 0.647912 0) -(0.121255 0.593008 0) -(0.177971 0.534942 0) -(0.173158 0.49479 0) -(0.175518 0.46665 0) -(0.151385 0.450839 0) -(0.136686 0.434342 0) -(0.129877 0.421327 0) -(0.0888619 0.370709 0) -(0.0677146 0.343116 0) -(0.0451249 0.33121 0) -(-0.0354312 0.248082 0) -(-0.0677769 0.185143 0) -(-0.0624212 0.124639 0) -(-0.0358642 0.106767 0) -(-0.0183848 0.117101 0) -(-0.00722449 0.113201 0) -(0.0091117 0.0698647 0) -(0.0190983 0.0258889 0) -(0.010464 -0.0583469 0) -(0.0124889 -0.292181 0) -(-0.101489 -0.158783 0) -(0.0941319 0.222708 0) -(0.223795 0.679517 0) -(0.0859099 0.638079 0) -(0.118747 0.618448 0) -(0.0947352 0.50543 0) -(0.166015 0.504795 0) -(0.154554 0.506781 0) -(0.180343 0.482475 0) -(0.188773 0.466304 0) -(0.183248 0.43866 0) -(0.195555 0.42226 0) -(0.18703 0.398796 0) -(0.172307 0.357477 0) -(0.188553 0.322775 0) -(0.179164 0.315358 0) -(0.138888 0.257457 0) -(0.0555977 0.157168 0) -(0.0334133 0.116259 0) -(0.045675 0.0960564 0) -(0.045597 0.0768809 0) -(0.0460825 0.0482323 0) -(0.0308541 0.0298896 0) -(0.0150448 -0.0266301 0) -(0.0107973 -0.263822 0) -(0.109591 -0.242822 0) -(-0.0345656 -0.0552707 0) -(0.219224 0.577897 0) -(0.172744 0.726031 0) -(0.176021 0.632936 0) -(0.0997307 0.512431 0) -(0.0647615 0.453942 0) -(0.0774694 0.456494 0) -(0.113461 0.447621 0) -(0.140381 0.447794 0) -(0.148106 0.424762 0) -(0.178683 0.409128 0) -(0.188975 0.390282 0) -(0.198496 0.336553 0) -(0.215609 0.293902 0) -(0.216578 0.292526 0) -(0.21657 0.289171 0) -(0.195731 0.242661 0) -(0.153341 0.183659 0) -(0.116212 0.165992 0) -(0.0869091 0.135945 0) -(0.0703859 0.108181 0) -(0.0480584 0.0857186 0) -(0.0211139 0.0218787 0) -(0.00519211 -0.225222 0) -(0.178603 -0.278265 0) -(-0.106461 -0.0909177 0) -(0.146275 0.381655 0) -(0.290084 0.658313 0) -(0.306093 0.715942 0) -(0.256461 0.620428 0) -(0.13089 0.506253 0) -(0.0691344 0.46424 0) -(0.0333927 0.376227 0) -(0.0842164 0.39668 0) -(0.110246 0.38841 0) -(0.153541 0.373591 0) -(0.179875 0.364521 0) -(0.191288 0.333081 0) -(0.196534 0.309778 0) -(0.188151 0.312461 0) -(0.185766 0.312039 0) -(0.175564 0.288461 0) -(0.156038 0.279805 0) -(0.112074 0.270078 0) -(0.088611 0.219895 0) -(0.0674079 0.183114 0) -(0.0471247 0.169935 0) -(0.0194921 0.122769 0) -(-0.00285402 -0.170739 0) -(0.0941155 -0.259626 0) -(-0.0234933 -0.0152202 0) -(0.071703 0.0752687 0) -(0.294711 0.411006 0) -(0.393775 0.677173 0) -(0.382177 0.820832 0) -(0.311991 0.785725 0) -(0.153294 0.5849 0) -(0.0581871 0.445413 0) -(0.019897 0.340989 0) -(0.0598109 0.30556 0) -(0.0799765 0.30064 0) -(0.0975052 0.317296 0) -(0.107351 0.330964 0) -(0.106836 0.335844 0) -(0.0963823 0.349838 0) -(0.0898661 0.351248 0) -(0.0980146 0.34323 0) -(0.0924582 0.336779 0) -(0.0861809 0.311847 0) -(0.0814255 0.254263 0) -(0.058156 0.23788 0) -(0.0359749 0.226852 0) -(0.014445 0.167141 0) -(-0.00998266 -0.15107 0) -(0.0112834 -0.313363 0) -(0.0715993 -0.126529 0) -(0.13804 0.0596103 0) -(0.208352 0.198328 0) -(0.33543 0.556612 0) -(0.367526 0.817105 0) -(0.331963 0.925083 0) -(0.288716 0.86626 0) -(0.119516 0.613272 0) -(0.0213305 0.409556 0) -(0.00288115 0.321486 0) -(-0.00184527 0.327894 0) -(-0.0200352 0.336838 0) -(-0.0176014 0.318454 0) -(-0.0123875 0.322313 0) -(-0.00711572 0.34405 0) -(0.00582193 0.334679 0) -(0.0431185 0.313189 0) -(0.0610771 0.308512 0) -(0.0816515 0.299416 0) -(0.0762299 0.276897 0) -(0.0530371 0.288962 0) -(0.0227383 0.294844 0) -(0.0156083 0.231894 0) -(-0.0114399 -0.132471 0) -(0.0134529 -0.347688 0) -(0.079025 -0.225853 0) -(0.193419 -0.0825656 0) -(0.185346 0.19832 0) -(0.198066 0.430484 0) -(0.261748 0.752074 0) -(0.2655 0.935787 0) -(0.253947 0.968376 0) -(0.197651 0.887118 0) -(0.0569221 0.596265 0) -(-0.00727763 0.389971 0) -(0.00647102 0.367941 0) -(-0.019417 0.366703 0) -(-0.0491864 0.339547 0) -(-0.0609269 0.313277 0) -(-0.0537495 0.290211 0) -(-0.00291402 0.274253 0) -(0.0212483 0.244181 0) -(0.0615173 0.247987 0) -(0.0646929 0.281769 0) -(0.0650348 0.319014 0) -(0.0397922 0.357081 0) -(0.0147324 0.337644 0) -(0.0130117 0.248252 0) -(-0.00522624 -0.12207 0) -(0.0174861 -0.582804 0) -(0.101267 -0.447083 0) -(0.153078 -0.307123 0) -(0.138352 0.0765649 0) -(0.0169229 0.375656 0) -(0.0635127 0.63493 0) -(0.117076 0.884902 0) -(0.109839 0.971737 0) -(0.106707 0.911321 0) -(0.0204431 0.765901 0) -(0.0190239 0.564596 0) -(0.0332211 0.497217 0) -(-0.0104522 0.467609 0) -(-0.0386365 0.407411 0) -(-0.0599213 0.295918 0) -(-0.0357757 0.223158 0) -(0.00377389 0.200356 0) -(0.025912 0.195859 0) -(0.0468245 0.220486 0) -(0.0547925 0.29274 0) -(0.024556 0.353807 0) -(0.0115634 0.379676 0) -(0.022681 0.366547 0) -(-0.00387461 0.282119 0) -(0.00984657 -0.118877 0) -(-0.0154485 -0.646497 0) -(0.0619399 -0.522591 0) -(0.0298834 -0.388703 0) -(0.0153697 0.0468793 0) -(-0.167824 0.313491 0) -(-0.0596589 0.46941 0) -(-0.0297625 0.73582 0) -(0.0149087 0.929575 0) -(0.00302068 0.948068 0) -(-0.0594943 0.80347 0) -(-0.0214168 0.608683 0) -(-0.00260312 0.537231 0) -(-0.021117 0.522042 0) -(-0.0274971 0.411276 0) -(-0.0342818 0.260393 0) -(0.0203943 0.153033 0) -(0.026644 0.142869 0) -(0.0618593 0.160265 0) -(0.0380121 0.227009 0) -(0.0142235 0.339477 0) -(-0.0287879 0.426888 0) -(0.00376108 0.356778 0) -(0.0124013 0.365546 0) -(-0.0148726 0.294815 0) -(0.0121691 -0.12912 0) -(-0.00837725 -0.646993 0) -(0.0303243 -0.494813 0) -(-0.056148 -0.34333 0) -(0.0247167 0.179262 0) -(-0.116245 0.391012 0) -(-0.141089 0.36748 0) -(-0.00977432 0.554635 0) -(-0.0506905 0.842692 0) -(-0.0584951 0.936035 0) -(-0.126521 0.836338 0) -(-0.0616442 0.679534 0) -(-0.0381944 0.586149 0) -(-0.0563979 0.527771 0) -(-0.0310636 0.38849 0) -(0.0137392 0.201387 0) -(0.0384745 0.120632 0) -(0.0499893 0.121272 0) -(0.049417 0.171544 0) -(0.0108466 0.296391 0) -(-0.0597035 0.438302 0) -(-0.0593196 0.411948 0) -(-0.0370405 0.306178 0) -(-0.000567594 0.351611 0) -(-0.0145671 0.304825 0) -(0.00569453 -0.127327 0) -(-0.00175474 -0.632184 0) -(-0.0167561 -0.491808 0) -(-0.0339384 -0.393575 0) -(0.00660426 0.0201117 0) -(0.00459421 0.394683 0) -(-0.0782881 0.324231 0) -(-0.0757814 0.537292 0) -(-0.192919 0.876977 0) -(-0.213285 0.945702 0) -(-0.226764 0.860683 0) -(-0.131272 0.728648 0) -(-0.0816488 0.605627 0) -(-0.111472 0.506008 0) -(-0.0348215 0.317314 0) -(-0.00210775 0.152294 0) -(0.00985953 0.0973508 0) -(0.0183181 0.0927687 0) -(0.0012309 0.230642 0) -(-0.0569869 0.400433 0) -(-0.0518154 0.446686 0) -(-0.0524795 0.394719 0) -(-0.0520397 0.245992 0) -(-0.00898284 0.31004 0) -(-0.00936986 0.286268 0) -(-0.0120188 -0.15093 0) -(-0.00124509 -0.580516 0) -(-0.0508386 -0.41997 0) -(-0.0574098 -0.317123 0) -(-0.0807306 -0.0281494 0) -(-0.0188234 0.319458 0) -(-0.0500477 0.355009 0) -(-0.18666 0.606264 0) -(-0.228665 0.86669 0) -(-0.235455 0.918083 0) -(-0.228263 0.860398 0) -(-0.15448 0.705207 0) -(-0.14404 0.59085 0) -(-0.144805 0.451652 0) -(-0.064383 0.261286 0) -(-0.0814582 0.171595 0) -(-0.052395 0.124168 0) -(-0.079759 0.112212 0) -(-0.0406262 0.247633 0) -(-0.0418178 0.394852 0) -(-0.0307752 0.433291 0) -(-0.0254287 0.370634 0) -(-0.0530538 0.230166 0) -(-0.035095 0.271946 0) -(0.0150094 0.276405 0) -(-0.0448812 -0.16052 0) -(0.0240896 -0.513333 0) -(-0.0863335 -0.367498 0) -(-0.0688123 -0.244121 0) -(-0.0890785 -0.0317175 0) -(-0.0793237 0.297982 0) -(-0.0563717 0.500362 0) -(-0.161074 0.715071 0) -(-0.180122 0.877156 0) -(-0.173559 0.920054 0) -(-0.171918 0.866964 0) -(-0.128901 0.69887 0) -(-0.148239 0.54928 0) -(-0.150545 0.380671 0) -(-0.103008 0.22971 0) -(-0.141783 0.152239 0) -(-0.110652 0.0932229 0) -(-0.125519 0.0795343 0) -(-0.0618407 0.205492 0) -(-0.0268184 0.366537 0) -(0.00436284 0.417029 0) -(0.026955 0.394564 0) -(-0.041 0.243698 0) -(-0.0189685 0.207076 0) -(0.0171521 0.242314 0) -(-0.0627274 -0.176441 0) -(-0.00469549 -0.417746 0) -(-0.0682657 -0.25485 0) -(-0.0446811 -0.0716016 0) -(-0.134864 0.119087 0) -(-0.056723 0.314636 0) -(0.0246377 0.540308 0) -(-0.0355549 0.736661 0) -(-0.0261421 0.869366 0) -(-0.00338725 0.893001 0) -(-0.0280542 0.844498 0) -(-0.0501085 0.624275 0) -(-0.108064 0.461067 0) -(-0.101965 0.336476 0) -(-0.12582 0.239797 0) -(-0.145465 0.136284 0) -(-0.133991 0.0647587 0) -(-0.119506 0.0500433 0) -(-0.0944102 0.094431 0) -(-0.0381739 0.265869 0) -(-0.00181084 0.369962 0) -(0.0191126 0.386683 0) -(-0.0132707 0.296248 0) -(-0.00503545 0.221029 0) -(-0.00360394 0.230115 0) -(-0.00387831 -0.193514 0) -(-0.00124815 -0.396263 0) -(0.000659186 -0.217313 0) -(-0.0149599 -0.0227759 0) -(-0.103082 0.153274 0) -(-0.00881352 0.316591 0) -(0.00697105 0.54472 0) -(0.0683759 0.790587 0) -(0.0881708 0.875543 0) -(0.131051 0.8854 0) -(0.153055 0.843528 0) -(0.102832 0.667216 0) -(0.0100483 0.457964 0) -(-0.00472595 0.35735 0) -(-0.0704871 0.266542 0) -(-0.075944 0.162638 0) -(-0.134987 0.10004 0) -(-0.169857 0.0541053 0) -(-0.207495 0.0299362 0) -(-0.138875 0.161513 0) -(-0.0741671 0.297873 0) -(-0.0528094 0.349883 0) -(-0.0572178 0.283572 0) -(-0.0475208 0.28319 0) -(-0.0837696 0.21918 0) -(0.119373 -0.13034 0) -(0.0140292 -0.407655 0) -(0.0281799 -0.202569 0) -(0.0157554 0.0550778 0) -(-0.0407486 0.262239 0) -(-0.04835 0.338458 0) -(0.00184659 0.510997 0) -(0.107529 0.744421 0) -(0.13474 0.815296 0) -(0.180758 0.807629 0) -(0.216659 0.768895 0) -(0.242042 0.668272 0) -(0.178217 0.522521 0) -(0.145086 0.398864 0) -(0.111679 0.303903 0) -(0.0873781 0.258368 0) -(-0.0130921 0.160195 0) -(-0.123084 0.0292317 0) -(-0.154503 -0.0349541 0) -(-0.115384 0.0116656 0) -(-0.0448117 0.209472 0) -(-0.0254027 0.339661 0) -(-0.0205712 0.324028 0) -(-0.0782689 0.347256 0) -(-0.151594 0.0851155 0) -(0.161857 -0.159066 0) -(-0.00079583 -0.510744 0) -(0.0367659 -0.322731 0) -(0.00436837 -0.0601892 0) -(-0.00162217 0.217638 0) -(-0.042506 0.298305 0) -(-0.0209705 0.3821 0) -(0.0390537 0.623276 0) -(0.0572121 0.767531 0) -(0.109408 0.757204 0) -(0.163441 0.718129 0) -(0.212964 0.624803 0) -(0.223163 0.512125 0) -(0.224942 0.398333 0) -(0.209707 0.283173 0) -(0.199997 0.249508 0) -(0.179774 0.249769 0) -(0.1404 0.204056 0) -(0.0621226 0.173019 0) -(-0.0350832 0.128112 0) -(0.0651027 0.207725 0) -(0.0774832 0.365649 0) -(0.105103 0.406896 0) -(0.0139424 0.418387 0) -(-0.0534702 0.0236424 0) -(-0.0254968 -0.179775 0) -(-0.0197414 -0.523111 0) -(-0.0151767 -0.382117 0) -(-0.0652401 -0.152882 0) -(-0.131157 0.0127455 0) -(-0.127327 0.158798 0) -(-0.207669 0.304087 0) -(-0.214544 0.502758 0) -(-0.156959 0.613397 0) -(-0.0441714 0.605997 0) -(0.0694555 0.56978 0) -(0.175682 0.52382 0) -(0.234886 0.458995 0) -(0.293526 0.368076 0) -(0.315869 0.310514 0) -(0.320004 0.282308 0) -(0.320285 0.23218 0) -(0.310034 0.209118 0) -(0.285357 0.216183 0) -(0.18124 0.239452 0) -(0.154706 0.327359 0) -(0.104107 0.460736 0) -(0.127681 0.596384 0) -(0.0510406 0.550831 0) -(0.0306224 0.0289253 0) -(-0.149458 -0.312758 0) -(-0.0571538 -0.224533 0) -(-0.103833 -0.0821527 0) -(-0.0510103 0.0584673 0) -(-0.181429 0.178163 0) -(-0.229988 0.241476 0) -(-0.291735 0.279832 0) -(-0.283538 0.350373 0) -(-0.186892 0.40339 0) -(-0.0594935 0.366249 0) -(0.0451803 0.36991 0) -(0.172757 0.36527 0) -(0.244939 0.345462 0) -(0.323222 0.290138 0) -(0.36125 0.24977 0) -(0.363276 0.249649 0) -(0.34094 0.248581 0) -(0.310182 0.260333 0) -(0.285814 0.318668 0) -(0.195601 0.379669 0) -(0.121694 0.463151 0) -(0.0237203 0.587949 0) -(0.00940268 0.674559 0) -(0.00861108 0.515413 0) -(0.105533 0.0412871 0) -(-0.140579 -0.275062 0) -(-0.00876215 -0.107407 0) -(-0.0431207 0.164546 0) -(-0.020213 0.373575 0) -(-0.0400042 0.390338 0) -(-0.176577 0.366413 0) -(-0.231296 0.369062 0) -(-0.235105 0.376687 0) -(-0.167183 0.327083 0) -(-0.0749037 0.290792 0) -(0.00657539 0.294359 0) -(0.111368 0.279913 0) -(0.195217 0.271733 0) -(0.254655 0.249068 0) -(0.278169 0.250767 0) -(0.274064 0.283095 0) -(0.214829 0.321707 0) -(0.165297 0.378281 0) -(0.0980425 0.427816 0) -(0.0576529 0.47275 0) -(-0.0354664 0.552169 0) -(-0.119782 0.680849 0) -(-0.136409 0.742336 0) -(-0.085715 0.395962 0) -(0.168009 0.105932 0) -(-0.0908044 -0.0903563 0) -(0.00751634 -0.107811 0) -(0.0261208 0.105356 0) -(0.0155522 0.429857 0) -(0.029345 0.598991 0) -(-0.0304323 0.606508 0) -(-0.108105 0.425044 0) -(-0.148714 0.310853 0) -(-0.153614 0.249443 0) -(-0.111718 0.166168 0) -(-0.029903 0.13086 0) -(0.052302 0.140123 0) -(0.12806 0.161011 0) -(0.151882 0.196802 0) -(0.162078 0.232077 0) -(0.139486 0.336437 0) -(0.0828776 0.407984 0) -(0.0467674 0.422546 0) -(0.0174912 0.482975 0) -(-0.0207265 0.574779 0) -(-0.118092 0.710429 0) -(-0.169671 0.79938 0) -(-0.172639 0.65219 0) -(-0.11318 0.163768 0) -(0.0740119 0.0678705 0) -(-0.032643 -0.0496032 0) -(-0.00467146 -0.196429 0) -(0.0451271 0.0354147 0) -(-0.00981724 0.395284 0) -(0.00606257 0.570846 0) -(0.0515557 0.578723 0) -(0.0396863 0.49984 0) -(-0.00620084 0.334399 0) -(-0.0336259 0.149798 0) -(-0.0316543 0.0154754 0) -(0.0455227 -0.0230972 0) -(0.113372 0.0174697 0) -(0.129284 0.0963977 0) -(0.126463 0.210909 0) -(0.0852588 0.289155 0) -(0.0550623 0.410565 0) -(0.0195341 0.512649 0) -(-0.0181692 0.504224 0) -(-0.0149237 0.548821 0) -(-0.0923979 0.680424 0) -(-0.14648 0.781489 0) -(-0.18875 0.793219 0) -(-0.0995924 0.524549 0) -(-0.0040145 0.123256 0) -(-0.12727 0.0341329 0) -(0.0807081 -0.1467 0) -(-0.00076019 -0.220549 0) -(-0.013215 0.0105428 0) -(-0.0298836 0.380443 0) -(-0.0549821 0.471697 0) -(0.0210394 0.514742 0) -(0.0386774 0.436949 0) -(0.060202 0.289638 0) -(0.0838186 0.126877 0) -(0.127805 -0.0266268 0) -(0.137739 -0.0859074 0) -(0.154206 -0.0472625 0) -(0.132975 0.0591954 0) -(0.0577565 0.224334 0) -(-0.0213538 0.339879 0) -(-0.0332973 0.439851 0) -(-0.0337095 0.523317 0) -(-0.0384002 0.538151 0) -(-0.0543147 0.675268 0) -(-0.130406 0.822794 0) -(-0.140645 0.850869 0) -(-0.186935 0.754907 0) -(-0.0941667 0.359312 0) -(0.000341583 0.118548 0) -(-0.0837424 0.0538106 0) -(-0.0108504 -0.170567 0) -(0.00485081 -0.12704 0) -(-0.0652925 0.0601908 0) -(-0.0073192 0.379985 0) -(-0.044286 0.46143 0) -(-0.019585 0.403637 0) -(0.0148553 0.386601 0) -(0.0394496 0.267879 0) -(0.0689075 0.0881942 0) -(0.0927399 -0.0355481 0) -(0.121513 -0.0924899 0) -(0.0744564 -0.0575202 0) -(0.00203815 0.0792308 0) -(-0.0688985 0.280327 0) -(-0.0846886 0.331054 0) -(-0.0574481 0.394378 0) -(-0.046738 0.495183 0) -(-0.0569556 0.589143 0) -(-0.0488666 0.762575 0) -(-0.0837662 0.837151 0) -(-0.0362952 0.864824 0) -(-0.0872404 0.649347 0) -(-0.0930859 0.196317 0) -(-0.113837 0.0629803 0) -(-0.00634958 -0.0393083 0) -(-0.0939062 -0.248063 0) -(0.027026 -0.0449289 0) -(-0.0796617 0.10423 0) -(0.0481566 0.393231 0) -(-0.00985512 0.510459 0) -(-0.0512572 0.422027 0) -(-0.0186494 0.342818 0) -(-0.0211694 0.232334 0) -(0.0294272 0.124964 0) -(0.014583 0.0700108 0) -(-0.0550495 0.0357735 0) -(-0.107019 0.0359347 0) -(-0.139789 0.132879 0) -(-0.127426 0.231361 0) -(-0.0955142 0.249451 0) -(-0.0786527 0.289923 0) -(-0.0537554 0.444587 0) -(-0.0623488 0.568098 0) -(-0.0301118 0.713906 0) -(-0.0125989 0.789553 0) -(0.0365551 0.796701 0) -(0.0558399 0.599649 0) -(0.0385447 0.174216 0) -(-0.0856235 -0.0928018 0) -(0.0290259 -0.182754 0) -(-0.0410914 -0.319952 0) -(-0.00349083 -0.0217508 0) -(-0.0159245 0.100502 0) -(0.0344982 0.382244 0) -(0.0297407 0.644911 0) -(-0.0726894 0.479895 0) -(-0.0526846 0.355177 0) -(-0.0700315 0.256062 0) -(-0.0668595 0.189971 0) -(-0.117863 0.161359 0) -(-0.179612 0.09919 0) -(-0.211369 0.0868543 0) -(-0.215556 0.118227 0) -(-0.177735 0.203563 0) -(-0.133124 0.227237 0) -(-0.134022 0.267812 0) -(-0.100864 0.387906 0) -(-0.0866887 0.513985 0) -(-0.0417419 0.628328 0) -(0.0193697 0.680555 0) -(0.0710356 0.67808 0) -(0.0698951 0.464672 0) -(0.11105 0.244453 0) -(0.038762 0.135977 0) -(-0.00618444 -0.0741662 0) -(-0.0111672 -0.29923 0) -(-0.00883044 -0.0159959 0) -(0.0644642 0.0949305 0) -(0.0171104 0.37312 0) -(0.0470784 0.764826 0) -(-0.0441168 0.64005 0) -(-0.0764224 0.409611 0) -(-0.11031 0.312174 0) -(-0.145673 0.274772 0) -(-0.151255 0.253988 0) -(-0.17977 0.188627 0) -(-0.224372 0.128936 0) -(-0.244101 0.115674 0) -(-0.23125 0.129625 0) -(-0.181473 0.198005 0) -(-0.161137 0.233946 0) -(-0.07742 0.323917 0) -(-0.0167313 0.436184 0) -(0.0600125 0.512343 0) -(0.143579 0.574979 0) -(0.199178 0.574293 0) -(0.187832 0.441358 0) -(0.173177 0.232049 0) -(0.102517 0.0830313 0) -(0.00562395 -0.157521 0) -(0.0137379 -0.348099 0) -(-0.00209802 -0.126714 0) -(0.0579357 0.00341209 0) -(-0.00393709 0.30359 0) -(0.0129365 0.749648 0) -(0.00636471 0.717602 0) -(-0.0473581 0.491794 0) -(-0.0940097 0.314532 0) -(-0.120948 0.241443 0) -(-0.117316 0.222363 0) -(-0.0950772 0.249163 0) -(-0.143263 0.21708 0) -(-0.186579 0.146907 0) -(-0.186906 0.129444 0) -(-0.172615 0.132459 0) -(-0.141689 0.209054 0) -(-0.065028 0.288772 0) -(0.0109694 0.374736 0) -(0.107316 0.435624 0) -(0.205873 0.489364 0) -(0.241668 0.490961 0) -(0.261295 0.418904 0) -(0.208797 0.301695 0) -(0.14754 0.189503 0) -(0.052205 -0.0227262 0) -(-0.000226005 -0.20319 0) -(0.0149858 -0.11323 0) -(-0.0251609 -0.0172732 0) -(-0.0675066 0.234318 0) -(-0.0247121 0.61655 0) -(0.0346177 0.675542 0) -(0.0404307 0.495464 0) -(0.0301441 0.317745 0) -(-0.00145274 0.227923 0) -(-0.0079058 0.168486 0) -(0.00881478 0.178744 0) -(0.0142094 0.184652 0) -(0.0109365 0.183289 0) -(-0.0504834 0.143603 0) -(-0.0687759 0.102511 0) -(-0.0492016 0.084267 0) -(-0.0205119 0.145011 0) -(0.0207946 0.212318 0) -(0.103694 0.264198 0) -(0.124572 0.403862 0) -(0.118797 0.472333 0) -(0.135576 0.426056 0) -(0.102809 0.409622 0) -(0.090979 0.367401 0) -(0.0439372 0.239235 0) -(0.0228147 0.109459 0) -(0.000729784 -0.0150522 0) -(-0.06967 0.0854803 0) -(-0.101667 0.236864 0) -(-0.0786541 0.451445 0) -(0.0279657 0.538601 0) -(0.0720736 0.429777 0) -(0.0970121 0.304859 0) -(0.0832798 0.254486 0) -(0.0646138 0.230094 0) -(0.0526706 0.229286 0) -(0.0521812 0.222326 0) -(0.0524684 0.223521 0) -(0.028205 0.222374 0) -(-0.0120505 0.147458 0) -(-0.0247418 0.0926673 0) -(-0.0360528 0.0788476 0) -(-0.0034036 0.0951646 0) -(-0.0104874 0.166043 0) -(-0.0235465 0.334683 0) -(-0.0254866 0.420683 0) -(0.0140892 0.439067 0) -(0.00318077 0.423386 0) -(0.0406603 0.400135 0) -(0.0220917 0.267533 0) -(0.00419795 0.0769291 0) -(-0.0556798 0.221124 0) -(-0.111416 0.244073 0) -(-0.113138 0.29068 0) -(-0.084981 0.366281 0) -(0.0340627 0.390914 0) -(0.112319 0.349694 0) -(0.153546 0.285598 0) -(0.155711 0.257537 0) -(0.172464 0.234024 0) -(0.165254 0.227225 0) -(0.160556 0.229587 0) -(0.150373 0.232914 0) -(0.150369 0.243911 0) -(0.119925 0.267488 0) -(0.042383 0.237492 0) -(-0.0164234 0.217229 0) -(-0.057532 0.232229 0) -(-0.118922 0.271383 0) -(-0.118183 0.310308 0) -(-0.0826988 0.370053 0) -(-0.024234 0.379997 0) -(0.013069 0.377998 0) -(0.0649385 0.363736 0) -(0.0726979 0.330489 0) -(0.0372599 0.271168 0) -(-0.0227592 0.166587 0) -(-0.045109 0.162179 0) -(-0.057107 0.214093 0) -(-0.0355015 0.22262 0) -(0.00610955 0.217134 0) -(0.0318206 0.204924 0) -(0.0588701 0.187467 0) -(0.0567559 0.163217 0) -(0.0643046 0.126832 0) -(0.051835 0.11628 0) -(0.0491894 0.108254 0) -(0.0365407 0.106943 0) -(0.0338923 0.116717 0) -(0.0233242 0.152776 0) -(0.0192095 0.180815 0) -(-0.00187597 0.192335 0) -(-0.0265211 0.195875 0) -(-0.0372467 0.196655 0) -(-0.0502362 0.192021 0) -(-0.0304718 0.185786 0) -(-0.0135897 0.212906 0) -(0.00755532 0.221834 0) -(0.023687 0.239275 0) -(0.0393698 0.249142 0) -(0.0219197 0.218769 0) -(-0.000889062 0.0372328 0) -(-0.0109179 0.0361254 0) -(-0.0118703 0.00876492 0) -(-0.000399272 -0.000965297 0) -(0.00476532 0.00485894 0) -(0.0201189 -0.00846372 0) -(0.023538 -0.0184024 0) -(0.0329939 -0.0161307 0) -(0.0271365 -0.011824 0) -(0.0191704 -0.00626783 0) -(0.00721846 -0.00269044 0) -(-0.00380106 0.000204209 0) -(-0.0155682 0.0075794 0) -(-0.0166443 0.00969329 0) -(-0.0144695 -0.0106955 0) -(-0.017289 -0.00276448 0) -(-0.0203945 0.000486899 0) -(-0.0203629 0.0173321 0) -(-0.0173736 0.0131108 0) -(-0.0210876 0.0247896 0) -(-0.0200303 0.027252 0) -(-0.0163761 0.0280907 0) -(-0.0184973 0.0168725 0) -(-0.00814656 0.0214623 0) -(-0.00635894 0.0515029 0) -(0.00263785 0.105431 0) -(0.00784603 0.0774799 0) -(0.012794 0.0476885 0) -(0.0100005 0.0337762 0) -(0.00998213 0.0151447 0) -(0.013375 0.014538 0) -(0.01064 0.0243762 0) -(0.0108938 0.0333939 0) -(0.00708949 0.0599289 0) -(0.0063219 0.0752113 0) -(0.00352056 0.0902293 0) -(0.00303961 0.0930398 0) -(-0.000739618 0.0936394 0) -(0.00113638 0.102865 0) -(-0.0014072 0.129181 0) -(-0.00470629 0.142469 0) -(-0.00826279 0.13966 0) -(-0.00959612 0.119403 0) -(-0.00811088 0.102042 0) -(-0.0136462 0.0818668 0) -(-0.0104404 0.0797099 0) -(-0.0111963 0.0954558 0) -(-0.00904115 0.0998635 0) -(-0.00818974 0.111696 0) -(-0.00420239 0.0874926 0) -(0.00832122 0.0294026 0) -(0.0163569 0.0257081 0) -(0.0156461 0.0162097 0) -(0.0138831 0.0138027 0) -(0.00941427 0.00252724 0) -(9.23742e-05 -0.00317251 0) -(-0.00794842 -0.0030951 0) -(-0.0156632 0.00393349 0) -(-0.0202418 0.0137601 0) -(-0.0213532 0.0180685 0) -(-0.0213409 0.0215884 0) -(-0.0191931 0.0235439 0) -(-0.0195375 0.0252773 0) -(-0.0218451 0.0213986 0) -(-0.0223475 0.020223 0) -(-0.0169932 0.0275293 0) -(-0.0112268 0.0304899 0) -(-0.00801043 0.0289567 0) -(-0.0073384 0.0375701 0) -(-0.00492998 0.0398616 0) -(-0.00748991 0.0345227 0) -(-0.004897 0.0354485 0) -(-0.00389305 0.0275279 0) -(-0.00547738 0.0284404 0) -(-0.000114832 0.0422311 0) -(0.00323697 0.0418529 0) -(0.00693436 0.0541668 0) -(0.00533842 0.0458649 0) -(0.00464955 0.040595 0) -(0.00332081 0.0409023 0) -(-0.00143932 0.047033 0) -(-0.00665501 0.0519916 0) -(-0.0122429 0.0551032 0) -(-0.0151883 0.0621665 0) -(-0.0153335 0.069971 0) -(-0.0145141 0.075572 0) -(-0.0129823 0.0810442 0) -(-0.0122081 0.0901706 0) -(-0.0110202 0.102835 0) -(-0.0135107 0.108334 0) -(-0.0158171 0.109475 0) -(-0.0162267 0.109277 0) -(-0.0163757 0.102745 0) -(-0.0156424 0.0863168 0) -(-0.0130092 0.0736925 0) -(-0.0104344 0.0721 0) -(-0.00722615 0.0774299 0) -(-0.00555619 0.0914663 0) -(-0.00665705 0.0914474 0) -(-0.00388641 0.0642169 0) -(-0.000204964 0.0122315 0) -(-0.000228595 0.027382 0) -(-0.00242514 0.0268567 0) -(-0.00541226 0.0237125 0) -(-0.00911667 0.022152 0) -(-0.0132311 0.0244865 0) -(-0.0180855 0.0270152 0) -(-0.0230586 0.0292667 0) -(-0.0276128 0.0271902 0) -(-0.0307595 0.0236217 0) -(-0.0320236 0.0236937 0) -(-0.0338763 0.0249443 0) -(-0.0342174 0.0288376 0) -(-0.0335568 0.0313019 0) -(-0.030145 0.0383379 0) -(-0.025123 0.0410185 0) -(-0.0191966 0.0391962 0) -(-0.0134511 0.0351858 0) -(-0.00825613 0.0375324 0) -(-0.00659678 0.0355623 0) -(-0.00566839 0.0288518 0) -(-0.00426853 0.0328891 0) -(-0.00309202 0.0334201 0) -(-0.00129145 0.0336145 0) -(-0.000383509 0.026633 0) -(0.000388305 0.0381359 0) -(0.000140119 0.0543182 0) -(-0.00175165 0.0522751 0) -(-0.00495678 0.0506859 0) -(-0.00896256 0.0529871 0) -(-0.012648 0.0619988 0) -(-0.0161942 0.0682708 0) -(-0.0195339 0.0709862 0) -(-0.0214304 0.0734389 0) -(-0.0230337 0.0738665 0) -(-0.0240072 0.0763829 0) -(-0.0229048 0.0799903 0) -(-0.0218983 0.0828124 0) -(-0.0207069 0.0874317 0) -(-0.0196511 0.0831635 0) -(-0.0185951 0.0784909 0) -(-0.0173721 0.0769959 0) -(-0.0162813 0.0715107 0) -(-0.0147273 0.0647173 0) -(-0.0109883 0.0612385 0) -(-0.0070107 0.0604651 0) -(-0.00428308 0.0650219 0) -(-0.00210055 0.0782312 0) -(-0.00234165 0.0785294 0) -(-0.00068969 0.0538614 0) -(0.000768602 0.0152334 0) -(0.00101087 0.0362592 0) -(-0.0014709 0.0426089 0) -(-0.00432248 0.0439428 0) -(-0.00769063 0.043786 0) -(-0.00998155 0.0450119 0) -(-0.0118706 0.0469298 0) -(-0.0143337 0.0456528 0) -(-0.0159306 0.0397406 0) -(-0.0176695 0.0344576 0) -(-0.0189501 0.028382 0) -(-0.0196868 0.0257259 0) -(-0.0205149 0.0289217 0) -(-0.019904 0.0319103 0) -(-0.0173981 0.0391277 0) -(-0.0159314 0.0417027 0) -(-0.0145701 0.0395478 0) -(-0.0128388 0.0352527 0) -(-0.0116716 0.0312417 0) -(-0.00974169 0.0241002 0) -(-0.00760504 0.0194289 0) -(-0.00574268 0.0276763 0) -(-0.00450226 0.0347502 0) -(-0.00331936 0.0363018 0) -(-0.0015274 0.0255251 0) -(0.000759533 0.0305284 0) -(0.000211934 0.0555467 0) -(-0.00183273 0.0604757 0) -(-0.00302484 0.060675 0) -(-0.00550673 0.0617753 0) -(-0.0074195 0.0673607 0) -(-0.00973395 0.0739986 0) -(-0.0112497 0.0759676 0) -(-0.0121034 0.0766357 0) -(-0.0129594 0.0765552 0) -(-0.0135983 0.0761909 0) -(-0.0148322 0.0791906 0) -(-0.0148402 0.0790924 0) -(-0.0144451 0.0759001 0) -(-0.0140224 0.069556 0) -(-0.0133596 0.0676323 0) -(-0.012054 0.0651036 0) -(-0.011161 0.0603916 0) -(-0.00981228 0.0529708 0) -(-0.00828881 0.0475987 0) -(-0.0058001 0.04671 0) -(-0.00381277 0.0534496 0) -(-0.00172907 0.0678406 0) -(-0.00249782 0.0670913 0) -(-0.00141651 0.0382277 0) -(-0.000631535 0.0163944 0) -(0.00116823 0.0451877 0) -(-0.00048028 0.0531234 0) -(-0.00211115 0.0553757 0) -(-0.00426904 0.056869 0) -(-0.00556868 0.0578019 0) -(-0.00678294 0.0588073 0) -(-0.00734732 0.0544393 0) -(-0.00791982 0.0470128 0) -(-0.00816387 0.0414441 0) -(-0.00913804 0.0362031 0) -(-0.00924399 0.0321556 0) -(-0.00869927 0.0315201 0) -(-0.00804335 0.0340917 0) -(-0.00860439 0.0407039 0) -(-0.00962969 0.0411691 0) -(-0.0096443 0.0389076 0) -(-0.00954651 0.0341963 0) -(-0.00912947 0.0289834 0) -(-0.00888313 0.0191947 0) -(-0.00688196 0.0135823 0) -(-0.00507437 0.0227161 0) -(-0.00364652 0.0360645 0) -(-0.000977042 0.0399214 0) -(-0.000295946 0.0210058 0) -(0.000661274 0.0263467 0) -(0.00121277 0.0524322 0) -(0.00181305 0.0648208 0) -(0.00102348 0.0661749 0) -(-4.21879e-05 0.0665862 0) -(-0.00153058 0.0698841 0) -(-0.00269932 0.0750705 0) -(-0.00344427 0.0753113 0) -(-0.00410122 0.075549 0) -(-0.00529693 0.0759204 0) -(-0.00632764 0.0756554 0) -(-0.00857929 0.0748667 0) -(-0.00947641 0.0733598 0) -(-0.0107941 0.0722133 0) -(-0.010854 0.0697039 0) -(-0.0102928 0.0666245 0) -(-0.00963178 0.0614168 0) -(-0.00908917 0.0558574 0) -(-0.00837295 0.0478907 0) -(-0.00766772 0.0392212 0) -(-0.00585876 0.0344989 0) -(-0.00324352 0.0428294 0) -(-0.00206952 0.05481 0) -(-0.00192363 0.0560593 0) -(-0.000889134 0.0316408 0) -(-8.61034e-05 0.0148961 0) -(0.000634069 0.0452522 0) -(0.000627484 0.056128 0) -(-0.000661189 0.062166 0) -(-0.00211933 0.0651315 0) -(-0.00379582 0.0664434 0) -(-0.0049347 0.0656931 0) -(-0.00556715 0.0603197 0) -(-0.00621368 0.0539765 0) -(-0.0064416 0.0491056 0) -(-0.00665564 0.0462538 0) -(-0.00688395 0.0422472 0) -(-0.00716632 0.039176 0) -(-0.0071072 0.0404775 0) -(-0.00720542 0.0423664 0) -(-0.00652677 0.0416549 0) -(-0.00691073 0.0392317 0) -(-0.00706747 0.034473 0) -(-0.00778003 0.0291014 0) -(-0.0082399 0.0166819 0) -(-0.00590701 0.00709291 0) -(-0.0026857 0.0173647 0) -(0.000246555 0.0365611 0) -(0.000932857 0.040609 0) -(1.43618e-05 0.0181046 0) -(6.90221e-05 0.0227105 0) -(0.000972261 0.0483872 0) -(0.00210597 0.0653144 0) -(0.00177564 0.0698403 0) -(0.00179897 0.0711708 0) -(0.000282096 0.0736208 0) -(-0.000214332 0.0765497 0) -(-0.000617432 0.0756276 0) -(-0.000590557 0.0748067 0) -(-0.00166972 0.0742995 0) -(-0.00217442 0.0740852 0) -(-0.00362413 0.0730762 0) -(-0.00442812 0.071181 0) -(-0.00570316 0.0692549 0) -(-0.00662594 0.065727 0) -(-0.00929225 0.0628918 0) -(-0.0099458 0.0598605 0) -(-0.0102085 0.054762 0) -(-0.0101435 0.0476179 0) -(-0.00947758 0.0320287 0) -(-0.00795288 0.0192686 0) -(-0.00409102 0.0261446 0) -(-0.00136555 0.0437056 0) -(-0.000273246 0.0535679 0) -(-0.000468439 0.0307009 0) -(-0.000482653 0.0148155 0) -(-0.000210333 0.0430514 0) -(-0.000649454 0.0565092 0) -(-0.000709084 0.0651379 0) -(-0.00183836 0.0707304 0) -(-0.00260624 0.0731516 0) -(-0.00289267 0.0701625 0) -(-0.00297848 0.0635408 0) -(-0.00290129 0.0587764 0) -(-0.00246732 0.0553257 0) -(-0.00232053 0.0531068 0) -(-0.00202011 0.050043 0) -(-0.00239146 0.0464371 0) -(-0.00288795 0.0482332 0) -(-0.00358318 0.0530222 0) -(-0.00403609 0.0520443 0) -(-0.00461004 0.0438574 0) -(-0.00507318 0.0379698 0) -(-0.00487897 0.0300219 0) -(-0.00503163 0.0148737 0) -(-0.0044699 -0.00231427 0) -(-0.00180411 0.00560353 0) -(0.00111937 0.0307654 0) -(0.00137975 0.0415677 0) -(-6.5017e-05 0.0192573 0) -(0.000154227 0.0221408 0) -(0.000831073 0.0465661 0) -(0.00196378 0.0643843 0) -(0.000991177 0.0703509 0) -(0.00192951 0.0731564 0) -(0.00215767 0.0738976 0) -(0.00361954 0.0749689 0) -(0.0032643 0.0732098 0) -(0.00274641 0.0713266 0) -(0.00177121 0.0703531 0) -(0.00119458 0.0705353 0) -(0.000457795 0.0705964 0) -(-0.00105068 0.0704228 0) -(-0.00282823 0.0692495 0) -(-0.00283751 0.0655087 0) -(-0.00271662 0.0624402 0) -(-0.00394709 0.0594688 0) -(-0.00682997 0.0525935 0) -(-0.00896154 0.0449431 0) -(-0.0113863 0.0284452 0) -(-0.0101195 0.0094908 0) -(-0.00576168 0.0110592 0) -(-0.00141511 0.0339685 0) -(-0.000184051 0.0535972 0) -(-0.000390543 0.0309184 0) -(0.000250334 0.0146883 0) -(-0.00116077 0.0410085 0) -(-0.000607842 0.0583253 0) -(0.000623438 0.0670997 0) -(0.000626773 0.0703409 0) -(0.00102934 0.0714644 0) -(0.00101064 0.0699733 0) -(0.00215279 0.0679278 0) -(0.00194893 0.0644388 0) -(0.00224381 0.0613804 0) -(0.0018758 0.0585361 0) -(0.00225657 0.0575628 0) -(0.002201 0.056449 0) -(0.00257885 0.0546076 0) -(0.00194442 0.0556921 0) -(0.00137974 0.0567111 0) -(0.000790356 0.0559749 0) -(-0.000693834 0.0515105 0) -(-0.00246095 0.0426869 0) -(-0.00435634 0.0200381 0) -(-0.0046594 -0.0123244 0) -(-0.00240587 -0.0112653 0) -(0.000127061 0.0208291 0) -(0.00100678 0.0418954 0) -(0.000178237 0.0204995 0) -(-3.47705e-05 0.0221259 0) -(0.000168322 0.0466435 0) -(0.000606035 0.0581834 0) -(0.00209966 0.0658211 0) -(0.00291758 0.0700834 0) -(0.00373258 0.0710174 0) -(0.00465223 0.0702379 0) -(0.00542186 0.0688238 0) -(0.00634204 0.0688285 0) -(0.00646058 0.0680056 0) -(0.00635787 0.0680063 0) -(0.00541188 0.0674845 0) -(0.00480507 0.0670948 0) -(0.00347078 0.0674545 0) -(0.00225916 0.0654976 0) -(0.00185056 0.0628573 0) -(0.00145202 0.0612726 0) -(0.000794784 0.0576345 0) -(-0.000266685 0.050504 0) -(-0.00234926 0.0311307 0) -(-0.00389543 0.00262073 0) -(-0.0023423 -0.00187042 0) -(0.000792318 0.0238221 0) -(0.00177742 0.0512227 0) -(-0.000137857 0.0310889 0) -(-0.000341015 0.0163751 0) -(0.000693643 0.04145 0) -(0.00112016 0.0561378 0) -(0.00168389 0.0637979 0) -(0.00254669 0.0688043 0) -(0.00315952 0.0695811 0) -(0.00401955 0.0683637 0) -(0.00447847 0.0663724 0) -(0.00500263 0.0643315 0) -(0.00572865 0.0636441 0) -(0.006171 0.0632924 0) -(0.00667487 0.0633355 0) -(0.00676439 0.0631104 0) -(0.00689083 0.0627547 0) -(0.00700441 0.061495 0) -(0.00631699 0.0610127 0) -(0.00571111 0.0604527 0) -(0.00460875 0.0577279 0) -(0.0035155 0.0517286 0) -(0.00139706 0.0307053 0) -(-3.4248e-05 -0.0103453 0) -(-0.000763431 -0.0192348 0) -(-0.00137342 0.0137521 0) -(-0.000775117 0.0464732 0) -(-0.000315151 0.026368 0) -(-0.000277026 0.019399 0) -(-0.000208676 0.0414544 0) -(0.000588077 0.054035 0) -(0.00160943 0.0607068 0) -(0.002845 0.0648347 0) -(0.00427534 0.0657852 0) -(0.00542144 0.0652204 0) -(0.00659942 0.0646493 0) -(0.00707241 0.0638414 0) -(0.00775865 0.0633495 0) -(0.00813385 0.0635637 0) -(0.00860942 0.0640182 0) -(0.00878633 0.0642919 0) -(0.00906341 0.0647026 0) -(0.00889552 0.0644635 0) -(0.00871155 0.0635299 0) -(0.00877684 0.0627959 0) -(0.00864766 0.0604613 0) -(0.00854711 0.0552068 0) -(0.00812161 0.0370192 0) -(0.00666832 0.00536132 0) -(0.00188094 -0.000733165 0) -(-0.00110206 0.0218729 0) -(-0.000958377 0.0465305 0) -(-0.000114652 0.0263982 0) -) -; - -boundaryField -{ - inlet - { - type fixedValue; - value uniform (0 0.1 0); - } - - outlet - { - type pressureInletOutletVelocity; - phi phi1; - value nonuniform List<vector> -25 -( -(-0.000277026 0.019399 0) -(-0.000208676 0.0414544 0) -(0.000588077 0.054035 0) -(0.00160943 0.0607068 0) -(0.002845 0.0648347 0) -(0.00427534 0.0657852 0) -(0.00542144 0.0652204 0) -(0.00659942 0.0646493 0) -(0.00707241 0.0638414 0) -(0.00775865 0.0633495 0) -(0.00813385 0.0635637 0) -(0.00860942 0.0640182 0) -(0.00878633 0.0642919 0) -(0.00906341 0.0647026 0) -(0.00889552 0.0644635 0) -(0.00871155 0.0635299 0) -(0.00877684 0.0627959 0) -(0.00864766 0.0604613 0) -(0.00854711 0.0552068 0) -(0.00812161 0.0370192 0) -(0.00666832 0.00536132 0) -(0.00188094 -0.000733165 0) -(-0.00110206 0.0218729 0) -(-0.000958377 0.0465305 0) -(-0.000114652 0.0263982 0) -) -; - } - - walls - { - type fixedValue; - value uniform (0 0 0); - } - - defaultFaces - { - type empty; - } -} - -// ************************************************************************* // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/0/U2 b/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/0/U2 deleted file mode 100644 index 0c77c4705d077be85df8330912d9a4c4d1a4b5d0..0000000000000000000000000000000000000000 --- a/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/0/U2 +++ /dev/null @@ -1,1956 +0,0 @@ -/*--------------------------------*- 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 volVectorField; - object U2; -} -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -dimensions [0 1 -1 0 0 0 0]; - -internalField nonuniform List<vector> -1875 -( -(0.141328 -0.587592 0) -(0.407198 -0.393846 0) -(0.471126 -0.270619 0) -(0.508946 -0.195538 0) -(0.523061 -0.14316 0) -(0.539622 -0.0977173 0) -(0.548878 -0.0659859 0) -(0.567946 -0.0430895 0) -(0.578326 -0.0279877 0) -(0.591975 -0.0173755 0) -(0.598382 -0.00543302 0) -(0.602371 0.00298469 0) -(0.602818 0.0244833 0) -(0.582319 0.0349973 0) -(0.557426 0.0670562 0) -(0.490779 0.104966 0) -(0.411761 0.121197 0) -(0.29205 0.167622 0) -(0.205957 0.357008 0) -(-0.0750581 0.261865 0) -(-0.182646 0.0455632 0) -(-0.234558 -0.0957123 0) -(-0.31884 -0.230828 0) -(-0.38533 -0.333269 0) -(-0.121762 -0.618504 0) -(0.0228774 -0.742864 0) -(0.082943 -0.271518 0) -(0.0359799 0.0416798 0) -(0.0442251 0.0662757 0) -(0.0605173 0.0354886 0) -(0.112994 -0.00478512 0) -(0.143369 -0.0322493 0) -(0.17737 -0.0416224 0) -(0.205379 -0.0435591 0) -(0.244187 -0.0337155 0) -(0.266524 -0.0279681 0) -(0.300861 -0.0269897 0) -(0.315941 -0.00488653 0) -(0.316896 0.0292872 0) -(0.304809 0.085202 0) -(0.295386 0.168277 0) -(0.247849 0.328991 0) -(0.18699 0.371779 0) -(0.162611 0.493281 0) -(0.164709 0.55336 0) -(0.0918576 0.406066 0) -(0.0830756 0.362236 0) -(0.00846045 0.465409 0) -(0.0191522 0.0169109 0) -(-0.0389573 -0.629635 0) -(0.00479983 -0.807249 0) -(0.00804917 -0.335873 0) -(-0.0174928 -0.134114 0) -(0.023681 -0.185376 0) -(0.0742247 -0.221152 0) -(0.121909 -0.203071 0) -(0.138184 -0.164171 0) -(0.144453 -0.147616 0) -(0.15823 -0.150581 0) -(0.167622 -0.130841 0) -(0.143162 -0.128813 0) -(0.102984 -0.0830639 0) -(0.0521285 0.0406228 0) -(0.0160529 0.0800667 0) -(-0.0390595 0.132918 0) -(-0.0287579 0.27406 0) -(0.0163274 0.310607 0) -(-0.00736691 0.323679 0) -(0.0418154 0.448216 0) -(-0.00262386 0.49017 0) -(0.055766 0.294311 0) -(0.0782353 0.0551085 0) -(0.0885758 0.187602 0) -(0.0850894 -0.0224171 0) -(-0.0188588 -0.690999 0) -(1.46791e-05 -0.803677 0) -(-0.00718855 -0.30425 0) -(0.00650334 -0.0529118 0) -(0.0244985 -0.195668 0) -(0.0281027 -0.235278 0) -(0.022556 -0.178575 0) -(-0.0117286 -0.0998749 0) -(-0.0290608 -0.096969 0) -(-0.0435147 -0.102997 0) -(-0.0768449 0.0108748 0) -(-0.114896 0.109529 0) -(-0.154653 0.112206 0) -(-0.165648 0.117244 0) -(-0.155625 0.135812 0) -(-0.154801 0.168179 0) -(-0.110043 0.210407 0) -(-0.0383216 0.235033 0) -(-0.0761922 0.282187 0) -(-0.0291805 0.463355 0) -(-0.0771569 0.473508 0) -(0.061873 0.172768 0) -(0.0389505 0.222105 0) -(0.0221948 0.353828 0) -(0.0386762 0.176293 0) -(-0.010499 -0.61329 0) -(-0.00189533 -0.781055 0) -(-0.0365181 -0.34555 0) -(-0.00588702 -0.228562 0) -(0.0160305 -0.292565 0) -(0.00260469 -0.28611 0) -(-0.0356617 -0.180758 0) -(-0.0873849 -0.103015 0) -(-0.124531 -0.113136 0) -(-0.185368 -0.0631684 0) -(-0.208621 0.0372702 0) -(-0.202716 0.0563095 0) -(-0.18878 0.0553577 0) -(-0.18201 0.0562007 0) -(-0.173468 0.0744435 0) -(-0.155375 0.104129 0) -(-0.134083 0.117301 0) -(-0.120484 0.202531 0) -(-0.162523 0.330437 0) -(-0.164869 0.456317 0) -(-0.113519 0.322577 0) -(-0.0114789 0.0362488 0) -(-0.000529388 0.136233 0) -(0.00244512 0.230692 0) -(0.027275 0.0872039 0) -(0.000467767 -0.633673 0) -(-0.00325022 -0.732094 0) -(-0.031785 -0.286604 0) -(-0.040756 -0.236432 0) -(-0.0579675 -0.268754 0) -(-0.0888941 -0.167478 0) -(-0.131313 -0.00881036 0) -(-0.147688 0.0451313 0) -(-0.175941 0.0333486 0) -(-0.207272 0.0367743 0) -(-0.20986 0.0381687 0) -(-0.187629 0.046922 0) -(-0.178911 0.052913 0) -(-0.175672 0.0812691 0) -(-0.177437 0.0960784 0) -(-0.166475 0.110874 0) -(-0.179492 0.172139 0) -(-0.207112 0.31274 0) -(-0.21512 0.359454 0) -(-0.213602 0.358721 0) -(-0.109787 0.0748308 0) -(-0.0314076 -0.127609 0) -(0.0103633 0.154496 0) -(0.0300304 0.266164 0) -(0.0196886 0.182605 0) -(-0.00295027 -0.595477 0) -(-0.00461531 -0.699854 0) -(-0.0335189 -0.245772 0) -(-0.0863643 -0.204575 0) -(-0.125782 -0.206756 0) -(-0.157489 -0.119514 0) -(-0.186664 -0.0151862 0) -(-0.196345 0.0207685 0) -(-0.217759 0.0158033 0) -(-0.223696 0.0115586 0) -(-0.230472 -0.00639501 0) -(-0.233823 -0.00520494 0) -(-0.239565 0.0418247 0) -(-0.241857 0.0782775 0) -(-0.239917 0.0984028 0) -(-0.242954 0.157943 0) -(-0.253126 0.249888 0) -(-0.249963 0.30908 0) -(-0.211175 0.327829 0) -(-0.154898 0.244763 0) -(-0.021435 -0.106602 0) -(-0.0262265 -0.215899 0) -(-0.0155256 0.0490102 0) -(0.0386338 0.237341 0) -(-0.0125229 0.217057 0) -(0.0248543 -0.648682 0) -(-0.00282494 -0.658135 0) -(-0.0281092 -0.118291 0) -(-0.108293 -0.0794797 0) -(-0.146892 -0.114212 0) -(-0.166241 -0.00993724 0) -(-0.199463 0.109011 0) -(-0.221044 0.127126 0) -(-0.262537 0.106789 0) -(-0.280071 0.0874168 0) -(-0.304304 0.0699351 0) -(-0.330763 0.0783221 0) -(-0.346742 0.102479 0) -(-0.350277 0.118439 0) -(-0.348213 0.149831 0) -(-0.342132 0.190307 0) -(-0.307604 0.226971 0) -(-0.238452 0.239965 0) -(-0.126559 0.14176 0) -(-0.00226976 -0.0514187 0) -(0.0715288 -0.205662 0) -(0.0457356 -0.154447 0) -(-0.0543987 0.033337 0) -(0.00153217 0.267173 0) -(-0.0523456 0.260674 0) -(0.0515815 -0.657791 0) -(-0.0042388 -0.641036 0) -(-0.0144542 -0.0231465 0) -(-0.0924468 0.0221748 0) -(-0.166495 -0.0535047 0) -(-0.17046 0.0113704 0) -(-0.187187 0.154589 0) -(-0.186326 0.186315 0) -(-0.22657 0.17605 0) -(-0.249646 0.147332 0) -(-0.282787 0.135649 0) -(-0.308191 0.133375 0) -(-0.320306 0.133493 0) -(-0.320954 0.135237 0) -(-0.316922 0.127562 0) -(-0.297588 0.0999883 0) -(-0.268281 0.0341976 0) -(-0.210512 -0.105244 0) -(-0.14677 -0.200443 0) -(-0.095961 -0.218758 0) -(-0.124224 -0.197037 0) -(-0.174899 0.0402852 0) -(-0.203208 0.187373 0) -(-0.163869 0.226427 0) -(-0.073401 0.125654 0) -(0.0648069 -0.651497 0) -(0.00963547 -0.636309 0) -(-0.021823 0.0202224 0) -(0.00442565 0.25421 0) -(-0.146693 0.0398455 0) -(-0.163799 0.050874 0) -(-0.158574 0.161816 0) -(-0.143021 0.234515 0) -(-0.149025 0.249563 0) -(-0.163294 0.23226 0) -(-0.187975 0.209808 0) -(-0.204073 0.183553 0) -(-0.21345 0.158689 0) -(-0.206414 0.127527 0) -(-0.200531 0.105585 0) -(-0.182087 0.0785725 0) -(-0.165823 0.0386821 0) -(-0.16238 -0.0363184 0) -(-0.206799 -0.138972 0) -(-0.232001 -0.165309 0) -(-0.315408 -0.075936 0) -(-0.350429 0.060434 0) -(-0.317785 0.0804353 0) -(-0.234297 -0.0199362 0) -(-0.0537424 -0.326032 0) -(0.0394164 -0.591598 0) -(0.0160432 -0.637747 0) -(-0.0167472 -0.0370706 0) -(0.0700601 0.319342 0) -(-0.00011737 0.305692 0) -(-0.123859 0.0752975 0) -(-0.129703 0.128666 0) -(-0.134618 0.210706 0) -(-0.115309 0.243918 0) -(-0.113484 0.245536 0) -(-0.105609 0.233929 0) -(-0.108059 0.197444 0) -(-0.103107 0.147911 0) -(-0.102882 0.111297 0) -(-0.100469 0.0834879 0) -(-0.10245 0.0281695 0) -(-0.110972 -0.00275163 0) -(-0.123564 -0.0202841 0) -(-0.171786 -0.0455071 0) -(-0.243411 0.00730176 0) -(-0.322536 0.0901807 0) -(-0.352229 0.0716724 0) -(-0.298381 -0.101472 0) -(-0.173246 -0.368227 0) -(-0.0958428 -0.534607 0) -(-0.0478101 -0.631696 0) -(-0.00605675 -0.678005 0) -(0.0600641 -0.0889499 0) -(0.0715667 0.140341 0) -(0.166609 0.523257 0) -(0.0131515 0.35006 0) -(-0.0831248 0.202151 0) -(-0.114929 0.226442 0) -(-0.117191 0.229745 0) -(-0.112581 0.218291 0) -(-0.0884068 0.202984 0) -(-0.0660003 0.170927 0) -(-0.0456544 0.134802 0) -(-0.0359376 0.104045 0) -(-0.0284461 0.0959227 0) -(-0.0375488 0.0978522 0) -(-0.0679028 0.0841385 0) -(-0.105408 0.0955035 0) -(-0.142601 0.113502 0) -(-0.227967 0.15778 0) -(-0.276289 0.172186 0) -(-0.290459 0.0160417 0) -(-0.217142 -0.32267 0) -(-0.179438 -0.481 0) -(-0.134738 -0.646593 0) -(-0.0527305 -0.898435 0) -(-0.00464843 -0.752723 0) -(0.0861668 -0.192141 0) -(0.0832924 -0.018079 0) -(0.167598 0.506777 0) -(0.0908788 0.568434 0) -(-0.0390154 0.433137 0) -(-0.0992553 0.333121 0) -(-0.0989457 0.277312 0) -(-0.117282 0.206658 0) -(-0.0896135 0.143976 0) -(-0.0698513 0.107515 0) -(-0.0283897 0.0784945 0) -(-0.00755728 0.0598762 0) -(0.017426 0.0799018 0) -(0.0281911 0.109849 0) -(0.0296122 0.148962 0) -(-0.00329769 0.163455 0) -(-0.0381909 0.212174 0) -(-0.134705 0.304022 0) -(-0.179129 0.27877 0) -(-0.175798 -0.0424924 0) -(-0.147938 -0.332053 0) -(-0.155526 -0.572853 0) -(-0.0742423 -0.827878 0) -(-0.031722 -1.06452 0) -(-0.00497943 -0.816896 0) -(0.0661569 -0.275501 0) -(0.0411654 -0.0723348 0) -(0.115296 0.521128 0) -(0.0499076 0.771648 0) -(-0.0285514 0.595736 0) -(-0.0954843 0.379592 0) -(-0.0800799 0.30071 0) -(-0.0779072 0.234122 0) -(-0.0679635 0.121367 0) -(-0.0531882 0.0465711 0) -(-0.0291629 0.00329654 0) -(0.0105907 -0.00501976 0) -(0.0266129 0.00723001 0) -(0.0711656 0.0576663 0) -(0.0715542 0.144507 0) -(0.0542078 0.240689 0) -(-0.0329753 0.395554 0) -(-0.0922822 0.461433 0) -(-0.11284 0.294822 0) -(-0.0661122 -0.0283381 0) -(-0.107186 -0.369281 0) -(-0.0681092 -0.692162 0) -(-0.0493278 -0.902297 0) -(-0.0131765 -1.15995 0) -(-0.00529396 -0.854041 0) -(0.0264625 -0.333988 0) -(0.0123356 -0.106993 0) -(0.0656379 0.532297 0) -(0.0548766 0.84728 0) -(0.0392556 0.717724 0) -(-0.0239426 0.456147 0) -(-0.0200907 0.246051 0) -(0.000158709 0.185387 0) -(0.00702713 0.115848 0) -(0.0302902 0.0329831 0) -(0.0363806 -0.0393656 0) -(0.0547254 -0.0522775 0) -(0.0663981 -0.0491431 0) -(0.085558 0.0132205 0) -(0.0840639 0.182426 0) -(0.0199625 0.395905 0) -(-0.0447644 0.518386 0) -(-0.0438389 0.47704 0) -(-0.0462442 0.253125 0) -(0.0190119 -0.0599265 0) -(-0.0211191 -0.32049 0) -(-0.00140919 -0.704402 0) -(-0.0296794 -0.934986 0) -(0.00294744 -1.20717 0) -(-0.00502847 -0.866074 0) -(0.00447177 -0.380753 0) -(0.009953 -0.13218 0) -(0.0151587 0.434369 0) -(0.0512587 0.824786 0) -(0.0503782 0.712343 0) -(0.0673933 0.50062 0) -(0.0554755 0.234709 0) -(0.0729832 0.155077 0) -(0.107537 0.0435273 0) -(0.145697 -0.0350085 0) -(0.158028 -0.0592425 0) -(0.155656 -0.0604752 0) -(0.153577 -0.0482091 0) -(0.147781 0.0343288 0) -(0.0778396 0.287788 0) -(0.0076784 0.526385 0) -(-0.0109194 0.541247 0) -(-0.00801424 0.440228 0) -(0.0447894 0.18005 0) -(0.0377121 -0.0511607 0) -(0.0501829 -0.342464 0) -(0.0466317 -0.675238 0) -(0.0138355 -0.915047 0) -(0.00526552 -1.21379 0) -(-0.00628324 -0.856036 0) -(-0.0382733 -0.375962 0) -(-0.0435875 -0.0466261 0) -(-0.0741799 0.426507 0) -(-0.0120238 0.767415 0) -(-0.00324379 0.653579 0) -(0.11478 0.444471 0) -(0.11688 0.226569 0) -(0.186479 0.0636765 0) -(0.231976 -0.0596767 0) -(0.259375 -0.0920622 0) -(0.260842 -0.087921 0) -(0.257013 -0.0706506 0) -(0.239437 -0.0273109 0) -(0.151717 0.164506 0) -(0.0384009 0.494848 0) -(-0.0110416 0.589157 0) -(0.00991454 0.526979 0) -(0.0389032 0.376089 0) -(0.113176 0.137369 0) -(0.0241961 -0.0703522 0) -(0.0761038 -0.363502 0) -(0.0738838 -0.651921 0) -(0.032841 -0.853651 0) -(0.0181681 -1.17048 0) -(-0.00912479 -0.760123 0) -(-0.0639007 -0.273429 0) -(-0.0836544 0.0186488 0) -(-0.0963249 0.416698 0) -(-0.0592642 0.680638 0) -(-0.0509097 0.397753 0) -(0.118176 0.247523 0) -(0.210302 0.0583809 0) -(0.31141 -0.0701555 0) -(0.344235 -0.101279 0) -(0.367075 -0.0873726 0) -(0.358033 -0.0784151 0) -(0.29556 -0.0338926 0) -(0.173658 0.163807 0) -(0.0323059 0.486972 0) -(-0.0393237 0.62878 0) -(-0.0361694 0.582835 0) -(0.0251427 0.428498 0) -(0.0981398 0.232815 0) -(0.0638067 0.11443 0) -(0.0294412 -0.0574359 0) -(0.095811 -0.414268 0) -(0.0853611 -0.602914 0) -(0.0413674 -0.801703 0) -(0.0203061 -1.10205 0) -(0.00450397 -0.705737 0) -(-0.060549 -0.222994 0) -(-0.0603627 0.0406057 0) -(-0.0604538 0.400014 0) -(0.010791 0.665055 0) -(0.0723317 0.176299 0) -(0.181287 -0.13286 0) -(0.293251 -0.210169 0) -(0.34435 -0.204318 0) -(0.345312 -0.18904 0) -(0.27979 -0.118427 0) -(0.196523 0.0848835 0) -(0.0751319 0.346971 0) -(-0.0523592 0.552147 0) -(-0.105607 0.626239 0) -(-0.107303 0.630356 0) -(-0.0409278 0.445805 0) -(0.0134773 0.223898 0) -(-0.00459444 0.164338 0) -(-0.0285914 0.130422 0) -(0.0795159 -0.15708 0) -(0.108017 -0.427057 0) -(0.0825904 -0.535547 0) -(0.0488153 -0.725901 0) -(0.0143886 -1.03967 0) -(0.0127417 -0.635874 0) -(-0.080797 -0.142085 0) -(-0.0676818 0.0221205 0) -(-0.087376 0.256627 0) -(0.0920228 0.441718 0) -(0.219453 0.0478658 0) -(0.275372 -0.239473 0) -(0.236792 -0.256197 0) -(0.175612 -0.148919 0) -(0.0419573 0.100826 0) -(-0.0159335 0.233402 0) -(-0.0821223 0.407673 0) -(-0.140316 0.537814 0) -(-0.153897 0.585894 0) -(-0.144673 0.59486 0) -(-0.130828 0.458913 0) -(-0.0506682 0.224733 0) -(-0.0588765 0.160775 0) -(-0.031821 0.070989 0) -(0.0335221 -0.00832151 0) -(0.119762 -0.260365 0) -(0.111941 -0.411091 0) -(0.080808 -0.485952 0) -(0.0415036 -0.669329 0) -(0.0239398 -0.969745 0) -(0.015765 -0.560772 0) -(-0.0796842 -0.0476543 0) -(-0.101823 0.0377204 0) -(-0.121939 0.0713156 0) -(0.0251774 -0.0280695 0) -(0.1003 -0.193856 0) -(0.0377616 -0.100762 0) -(-0.116086 0.0263818 0) -(-0.168487 0.114161 0) -(-0.162883 0.214738 0) -(-0.176459 0.33233 0) -(-0.187281 0.457423 0) -(-0.17636 0.527125 0) -(-0.155238 0.560162 0) -(-0.115171 0.553276 0) -(-0.0617492 0.377456 0) -(0.0110144 0.190905 0) -(0.0213497 0.13559 0) -(0.128768 0.0254199 0) -(0.134301 -0.0813305 0) -(0.175739 -0.271087 0) -(0.111957 -0.327556 0) -(0.0931212 -0.401658 0) -(0.0445862 -0.605137 0) -(0.0230658 -0.900848 0) -(0.0120065 -0.52165 0) -(-0.0465004 0.119645 0) -(-0.11873 0.119468 0) -(-0.15585 0.0526239 0) -(-0.162284 -0.030867 0) -(-0.246827 -0.00364903 0) -(-0.311299 0.039828 0) -(-0.31643 0.0947303 0) -(-0.306262 0.167069 0) -(-0.280234 0.242432 0) -(-0.257161 0.34134 0) -(-0.218908 0.423286 0) -(-0.1613 0.462913 0) -(-0.0962842 0.44693 0) -(0.00191533 0.396616 0) -(0.0875455 0.25258 0) -(0.131619 0.11575 0) -(0.146675 0.0541667 0) -(0.177877 -0.0084048 0) -(0.151416 -0.0631711 0) -(0.152428 -0.186928 0) -(0.0958256 -0.239872 0) -(0.0813998 -0.339693 0) -(0.0526949 -0.528782 0) -(0.0181482 -0.816406 0) -(-0.00990437 -0.512476 0) -(-0.00616312 0.257865 0) -(-0.0736314 0.297555 0) -(-0.123616 0.216202 0) -(-0.245059 0.0806595 0) -(-0.324357 0.0573919 0) -(-0.372728 0.0682567 0) -(-0.39257 0.076091 0) -(-0.389243 0.107371 0) -(-0.368765 0.147884 0) -(-0.332843 0.215465 0) -(-0.272673 0.255086 0) -(-0.198142 0.248497 0) -(-0.104689 0.198167 0) -(-0.0195644 0.145198 0) -(0.0523821 0.145558 0) -(0.0785321 0.136651 0) -(0.0912755 0.117247 0) -(0.0917151 0.0748145 0) -(0.0862369 -0.0415884 0) -(0.0852139 -0.162239 0) -(0.057173 -0.207596 0) -(0.0621046 -0.308446 0) -(0.0389606 -0.47988 0) -(0.0192977 -0.747278 0) -(-0.0323951 -0.526524 0) -(0.0287901 0.266351 0) -(-0.0114164 0.346555 0) -(0.0135635 0.413278 0) -(-0.0794306 0.355025 0) -(-0.152411 0.258917 0) -(-0.199423 0.201722 0) -(-0.25261 0.143251 0) -(-0.285052 0.116451 0) -(-0.304071 0.108053 0) -(-0.300215 0.103884 0) -(-0.286285 0.0988546 0) -(-0.249693 0.0525655 0) -(-0.219048 0.00257268 0) -(-0.198662 -0.0121167 0) -(-0.157317 -0.00979547 0) -(-0.0887329 0.0119922 0) -(-0.0370592 0.0207376 0) -(0.0254417 0.023543 0) -(0.0646955 -0.0377082 0) -(0.0674813 -0.127181 0) -(0.0553626 -0.193988 0) -(0.0600558 -0.291493 0) -(0.0491321 -0.431016 0) -(0.0138046 -0.684908 0) -(-0.0554377 -0.515715 0) -(0.0403631 0.198831 0) -(0.0170801 0.304054 0) -(0.0526324 0.373156 0) -(0.0649974 0.427363 0) -(0.0417311 0.363627 0) -(0.0561173 0.308784 0) -(0.0344024 0.252964 0) -(0.0240541 0.201931 0) -(-0.0113325 0.170132 0) -(-0.0205178 0.144001 0) -(-0.0501747 0.115041 0) -(-0.0555406 0.0542483 0) -(-0.0845445 0.0463893 0) -(-0.107912 -0.0105872 0) -(-0.126921 -0.0994882 0) -(-0.110383 -0.120981 0) -(-0.0740087 -0.138441 0) -(-0.0203488 -0.132262 0) -(0.0197271 -0.126592 0) -(0.0375504 -0.137954 0) -(0.0518819 -0.192512 0) -(0.0533115 -0.264374 0) -(0.0452728 -0.368829 0) -(0.01184 -0.608724 0) -(-0.0652443 -0.495563 0) -(0.0544782 0.106084 0) -(0.0641934 0.314641 0) -(0.0267499 0.295559 0) -(0.0609044 0.392867 0) -(0.0813812 0.329044 0) -(0.141386 0.277043 0) -(0.14439 0.242614 0) -(0.164484 0.215323 0) -(0.150891 0.195912 0) -(0.155656 0.17452 0) -(0.140921 0.16208 0) -(0.141963 0.126316 0) -(0.112746 0.0874115 0) -(0.121139 0.06641 0) -(0.097101 0.0130078 0) -(0.0387512 -0.0785452 0) -(0.014831 -0.153835 0) -(0.000194791 -0.174033 0) -(0.0124981 -0.178511 0) -(0.0213051 -0.193302 0) -(0.0444436 -0.226222 0) -(0.0363172 -0.26194 0) -(0.0350105 -0.33072 0) -(0.00231084 -0.562738 0) -(-0.00690599 -0.473525 0) -(0.0298961 -0.200657 0) -(0.160186 0.368583 0) -(0.0444242 0.35397 0) -(0.0722517 0.31122 0) -(0.0669161 0.189339 0) -(0.116539 0.200444 0) -(0.12591 0.218946 0) -(0.153887 0.207962 0) -(0.161991 0.196181 0) -(0.171775 0.171875 0) -(0.174727 0.156636 0) -(0.185728 0.134227 0) -(0.18249 0.0874118 0) -(0.195502 0.0530592 0) -(0.207473 0.0429468 0) -(0.197119 0.0167141 0) -(0.168999 -0.0636777 0) -(0.129633 -0.120225 0) -(0.107102 -0.153251 0) -(0.0844121 -0.185625 0) -(0.0764674 -0.218903 0) -(0.0497723 -0.239604 0) -(0.0347453 -0.297959 0) -(0.000835631 -0.526742 0) -(0.0434272 -0.508472 0) -(-0.00245697 -0.34179 0) -(0.140425 0.313556 0) -(0.139668 0.426683 0) -(0.132491 0.338531 0) -(0.0776437 0.19962 0) -(0.0508353 0.163614 0) -(0.0558915 0.160603 0) -(0.0811297 0.144092 0) -(0.114711 0.164357 0) -(0.13716 0.154078 0) -(0.161918 0.143056 0) -(0.182614 0.126522 0) -(0.202622 0.0771959 0) -(0.209639 0.0325766 0) -(0.22341 0.0210046 0) -(0.23117 0.00758103 0) -(0.224106 -0.0362851 0) -(0.192797 -0.0798443 0) -(0.155805 -0.0840634 0) -(0.118823 -0.112241 0) -(0.0969732 -0.143962 0) -(0.0631112 -0.165946 0) -(0.0382719 -0.226468 0) -(-0.00279704 -0.482966 0) -(0.0318007 -0.552667 0) -(0.0110758 -0.360617 0) -(0.055706 0.0106889 0) -(0.241117 0.337863 0) -(0.248953 0.407336 0) -(0.223642 0.341254 0) -(0.111755 0.217367 0) -(0.067144 0.154599 0) -(0.0409666 0.0877402 0) -(0.0675786 0.0889569 0) -(0.104083 0.0766849 0) -(0.138849 0.0661065 0) -(0.171811 0.062172 0) -(0.190036 0.038931 0) -(0.18998 0.0290067 0) -(0.187934 0.0351048 0) -(0.180689 0.0395141 0) -(0.176422 0.0256545 0) -(0.149298 0.0141135 0) -(0.120961 -0.00608253 0) -(0.0999667 -0.0621907 0) -(0.0829492 -0.0973883 0) -(0.0537402 -0.111246 0) -(0.0279118 -0.159416 0) -(-0.00348037 -0.450794 0) -(-0.00131269 -0.615393 0) -(0.0526006 -0.362766 0) -(0.0885479 -0.272343 0) -(0.198163 0.0127411 0) -(0.314129 0.321658 0) -(0.324467 0.472186 0) -(0.269044 0.459088 0) -(0.171737 0.304611 0) -(0.08092 0.137817 0) -(0.0402267 0.0394506 0) -(0.0595369 0.00723824 0) -(0.0665376 0.00767564 0) -(0.0739504 0.0324211 0) -(0.0768002 0.0528203 0) -(0.0813303 0.0567844 0) -(0.077895 0.0644389 0) -(0.0762383 0.0596264 0) -(0.0813588 0.0469026 0) -(0.086707 0.042376 0) -(0.0939943 0.0157405 0) -(0.0872962 -0.0382245 0) -(0.0726993 -0.048049 0) -(0.0398602 -0.0489157 0) -(0.0176133 -0.103853 0) -(-0.00235635 -0.433684 0) -(0.0108666 -0.683658 0) -(0.0587422 -0.533914 0) -(0.144533 -0.337999 0) -(0.165859 -0.175201 0) -(0.24986 0.154183 0) -(0.310588 0.416794 0) -(0.34105 0.555056 0) -(0.290969 0.524821 0) -(0.1991 0.369865 0) -(0.0781573 0.129703 0) -(0.0250862 0.0310259 0) -(0.00224413 0.0409705 0) -(-0.0227009 0.0511548 0) -(-0.0266613 0.0283099 0) -(-0.0260723 0.0301902 0) -(-0.0108984 0.0452663 0) -(0.0131347 0.0350406 0) -(0.0343355 0.00125637 0) -(0.0646541 -0.0130759 0) -(0.0849039 -0.0103723 0) -(0.0820883 -0.0161553 0) -(0.057671 0.00524627 0) -(0.0302551 0.00699213 0) -(0.0103747 -0.0659985 0) -(0.000714226 -0.423919 0) -(0.0245603 -0.78384 0) -(0.0613749 -0.650976 0) -(0.113691 -0.530118 0) -(0.16506 -0.213175 0) -(0.151863 0.026944 0) -(0.22399 0.334263 0) -(0.273741 0.533322 0) -(0.274904 0.603735 0) -(0.245253 0.556227 0) -(0.170789 0.395414 0) -(0.074067 0.170476 0) -(0.0321165 0.118241 0) -(-0.0098076 0.0955603 0) -(-0.0389737 0.0532779 0) -(-0.0577222 0.00609831 0) -(-0.0291821 -0.0273601 0) -(0.00208681 -0.0478301 0) -(0.0358219 -0.0705262 0) -(0.0562599 -0.0622995 0) -(0.072392 -0.0223857 0) -(0.060153 0.0252537 0) -(0.0331496 0.0670785 0) -(0.0264923 0.0484509 0) -(0.00443797 -0.0407328 0) -(0.00194611 -0.421197 0) -(0.00800689 -0.876982 0) -(0.0467447 -0.740743 0) -(0.0571526 -0.600843 0) -(0.0830832 -0.273779 0) -(0.0501711 0.0151921 0) -(0.0747706 0.221892 0) -(0.145479 0.470573 0) -(0.189759 0.602014 0) -(0.180918 0.571978 0) -(0.152343 0.477984 0) -(0.0747413 0.303399 0) -(0.0475676 0.223897 0) -(0.00239068 0.197412 0) -(-0.023737 0.121708 0) -(-0.0350205 8.64307e-06 0) -(-0.00430099 -0.0891615 0) -(0.0186832 -0.11216 0) -(0.045255 -0.113633 0) -(0.0521649 -0.081771 0) -(0.0542314 -0.00357292 0) -(0.0196266 0.072391 0) -(0.00643038 0.0854042 0) -(0.0275128 0.0653283 0) -(-0.00383825 -0.0173229 0) -(0.00389471 -0.422112 0) -(-0.00371036 -0.897268 0) -(0.00361706 -0.76279 0) -(-0.0214306 -0.612449 0) -(-0.0166473 -0.185119 0) -(-0.0574046 0.0833044 0) -(-0.0526381 0.189572 0) -(0.0296727 0.378627 0) -(0.102907 0.576425 0) -(0.0989364 0.639277 0) -(0.0867511 0.569991 0) -(0.0366425 0.365771 0) -(0.00842057 0.267055 0) -(-0.00865605 0.238615 0) -(-0.0184412 0.128305 0) -(0.00344795 -0.030025 0) -(0.027736 -0.138928 0) -(0.0445904 -0.153121 0) -(0.0595281 -0.135606 0) -(0.0481561 -0.0788869 0) -(0.00512038 0.0630083 0) -(-0.0238472 0.138237 0) -(-0.0128722 0.0512843 0) -(0.0186787 0.0579933 0) -(-0.00601231 -0.000103004 0) -(0.00202937 -0.427716 0) -(-0.013944 -0.878726 0) -(-0.0214961 -0.724682 0) -(-0.0541008 -0.58999 0) -(-0.0326117 -0.15975 0) -(-0.0338793 0.0513378 0) -(-0.0647639 0.0592487 0) -(-0.00426192 0.22268 0) -(0.0243695 0.498823 0) -(0.0303826 0.618095 0) -(0.0241493 0.573736 0) -(-0.0138117 0.438574 0) -(-0.037928 0.313887 0) -(-0.0389408 0.239907 0) -(-0.0243783 0.10198 0) -(0.0197862 -0.101906 0) -(0.0254727 -0.176428 0) -(0.0391877 -0.179607 0) -(0.0412259 -0.120853 0) -(-0.00834411 0.0475824 0) -(-0.0455479 0.155021 0) -(-0.0488253 0.113025 0) -(-0.033537 -0.01114 0) -(-0.00646106 0.0436291 0) -(-0.00400594 0.0071718 0) -(-0.0024336 -0.432948 0) -(-0.0115444 -0.831409 0) -(-0.0254689 -0.692633 0) -(-0.0575779 -0.575702 0) -(-0.0635187 -0.223816 0) -(-0.00450069 0.0388722 0) -(-0.0106727 0.00824413 0) -(-0.0808397 0.214504 0) -(-0.0612216 0.546008 0) -(-0.077674 0.662833 0) -(-0.0827792 0.625657 0) -(-0.105406 0.462827 0) -(-0.082612 0.310072 0) -(-0.0855179 0.199927 0) -(-0.029413 -0.0085088 0) -(-0.0189524 -0.138085 0) -(-0.0137388 -0.183792 0) -(-0.0174596 -0.183899 0) -(-0.00939243 -0.0299813 0) -(-0.0484137 0.117664 0) -(-0.0363218 0.161431 0) -(-0.0416913 0.10208 0) -(-0.0256862 -0.0545975 0) -(-0.0171822 -0.00708124 0) -(0.00130615 -0.0181004 0) -(-0.00813366 -0.441256 0) -(-0.0113373 -0.794453 0) -(-0.0340011 -0.630462 0) -(-0.0669113 -0.503886 0) -(-0.0982418 -0.246477 0) -(-0.0686895 0.0508848 0) -(-0.0637725 0.131868 0) -(-0.156454 0.366873 0) -(-0.162305 0.60152 0) -(-0.171395 0.653805 0) -(-0.153303 0.586602 0) -(-0.155853 0.403422 0) -(-0.120163 0.261761 0) -(-0.108468 0.119058 0) -(-0.0625624 -0.0568941 0) -(-0.0736803 -0.135465 0) -(-0.0610592 -0.179465 0) -(-0.0622254 -0.179759 0) -(-0.0418362 -0.0338903 0) -(-0.0215314 0.106747 0) -(-0.021664 0.144357 0) -(-0.0106339 0.0850826 0) -(-0.0296184 -0.0678458 0) -(-0.0241504 -0.0119647 0) -(0.00994749 -0.00549684 0) -(-0.00945753 -0.444521 0) -(-0.00903921 -0.731621 0) -(-0.0328939 -0.579268 0) -(-0.0472288 -0.438279 0) -(-0.11264 -0.223663 0) -(-0.089146 0.0597895 0) -(-0.0993074 0.274784 0) -(-0.1377 0.47224 0) -(-0.1371 0.615542 0) -(-0.134675 0.647399 0) -(-0.130044 0.567021 0) -(-0.131012 0.357687 0) -(-0.107551 0.206221 0) -(-0.0801345 0.0558088 0) -(-0.0828917 -0.0790453 0) -(-0.0928677 -0.145906 0) -(-0.082677 -0.201601 0) -(-0.0764561 -0.214669 0) -(-0.0580826 -0.120577 0) -(0.00502575 0.0765223 0) -(0.0136371 0.136203 0) -(0.0351002 0.119449 0) -(0.00909063 -0.0147364 0) -(-0.0138638 -0.0940196 0) -(0.00798782 -0.0423659 0) -(0.00483087 -0.44105 0) -(-0.00754343 -0.700847 0) -(-0.0103535 -0.536983 0) -(-0.0349301 -0.351701 0) -(-0.0764236 -0.146783 0) -(-0.0635204 0.0770318 0) -(-0.058244 0.286112 0) -(-0.0462264 0.496599 0) -(-0.0596256 0.604872 0) -(-0.0406096 0.628101 0) -(-0.0427286 0.568527 0) -(-0.0413914 0.334428 0) -(-0.0451454 0.166826 0) -(-0.0297369 0.0541 0) -(-0.0694415 -0.0226136 0) -(-0.0748563 -0.126135 0) -(-0.0867941 -0.205791 0) -(-0.0790539 -0.228993 0) -(-0.0785368 -0.208842 0) -(-0.0175675 -0.0498657 0) -(0.0213058 0.0731548 0) -(0.0316899 0.102643 0) -(0.041694 0.0540022 0) -(0.0231377 -0.0220054 0) -(-0.022522 -0.0353829 0) -(0.0339004 -0.431019 0) -(0.0035798 -0.693916 0) -(0.00575097 -0.529798 0) -(-0.00307455 -0.326742 0) -(-0.0136463 -0.1307 0) -(-0.0449139 -0.011883 0) -(0.0117614 0.242269 0) -(0.0149358 0.485398 0) -(0.0372402 0.59409 0) -(0.0560233 0.606059 0) -(0.0755244 0.571621 0) -(0.0825096 0.401326 0) -(0.0630843 0.200892 0) -(0.0419961 0.101282 0) -(0.0137639 0.0136154 0) -(-0.00524059 -0.108115 0) -(-0.0688746 -0.200168 0) -(-0.10708 -0.244701 0) -(-0.126544 -0.251069 0) -(-0.0905762 -0.147044 0) -(-0.0370766 0.0283424 0) -(-0.0308911 0.0745732 0) -(-0.0196483 0.0101632 0) -(-0.0436184 0.0253025 0) -(-0.0595427 -0.0680617 0) -(0.0454473 -0.43349 0) -(-0.000247182 -0.719786 0) -(0.00838669 -0.537378 0) -(0.00341359 -0.321243 0) -(-0.00337143 -0.0698042 0) -(-0.0259893 0.045169 0) -(0.00906771 0.17693 0) -(0.0791879 0.411716 0) -(0.109752 0.512161 0) -(0.137105 0.528732 0) -(0.163035 0.508789 0) -(0.181335 0.414123 0) -(0.178958 0.28085 0) -(0.160191 0.16842 0) -(0.159562 0.062993 0) -(0.142995 0.0322609 0) -(0.112776 0.00632181 0) -(0.0576062 -0.0888365 0) -(0.0172642 -0.219018 0) -(-0.0436172 -0.235461 0) -(-0.00623148 -0.0643457 0) -(-0.0046264 0.0782112 0) -(-0.000443009 0.0622652 0) -(-0.0822873 0.0587841 0) -(-0.0395527 -0.252374 0) -(-0.0071907 -0.445885 0) -(-0.0105171 -0.720536 0) -(-0.0285421 -0.540841 0) -(-0.0495969 -0.326955 0) -(-0.0428772 -0.157969 0) -(-0.000868744 -0.0738137 0) -(-0.032613 0.0113483 0) -(0.0217245 0.262471 0) -(0.0590134 0.444166 0) -(0.0972226 0.465512 0) -(0.134317 0.445024 0) -(0.176863 0.381532 0) -(0.194592 0.276271 0) -(0.210406 0.15524 0) -(0.217718 0.0515539 0) -(0.209083 0.0103244 0) -(0.222214 -0.0201371 0) -(0.22857 -0.0598267 0) -(0.206298 -0.0621933 0) -(0.157075 -0.0820821 0) -(0.115236 -0.0602465 0) -(0.101372 0.0804415 0) -(0.0807076 0.152177 0) -(-0.0314289 0.167626 0) -(0.00682663 -0.282176 0) -(-0.0426736 -0.504251 0) -(-0.0269745 -0.627012 0) -(-0.0914098 -0.432769 0) -(-0.17404 -0.248357 0) -(-0.191885 -0.122077 0) -(-0.182255 -0.00536862 0) -(-0.197483 0.104896 0) -(-0.167355 0.248493 0) -(-0.111003 0.353218 0) -(-0.0188841 0.349289 0) -(0.056297 0.316977 0) -(0.139111 0.27951 0) -(0.193062 0.21655 0) -(0.242326 0.130635 0) -(0.276056 0.07123 0) -(0.295915 0.0297194 0) -(0.314165 -0.0235287 0) -(0.321424 -0.0772776 0) -(0.296091 -0.0978562 0) -(0.257986 -0.0727345 0) -(0.186805 0.029846 0) -(0.130475 0.17157 0) -(0.0741811 0.318109 0) -(-0.0027529 0.25893 0) -(0.0558028 -0.227689 0) -(-0.024902 -0.515884 0) -(-0.0244759 -0.482004 0) -(-0.0652151 -0.267098 0) -(-0.162573 -0.0758743 0) -(-0.237181 -0.0292135 0) -(-0.259213 0.00958625 0) -(-0.256269 0.0543854 0) -(-0.220738 0.117731 0) -(-0.15044 0.124764 0) -(-0.0561576 0.0736206 0) -(0.0340867 0.0809769 0) -(0.109216 0.0689617 0) -(0.190585 0.0444365 0) -(0.240682 -0.0188093 0) -(0.285407 -0.0596636 0) -(0.304524 -0.0645571 0) -(0.29693 -0.0596631 0) -(0.26923 -0.00820226 0) -(0.213973 0.0824263 0) -(0.16186 0.126001 0) -(0.099846 0.193575 0) -(0.0493437 0.326624 0) -(-0.00527684 0.412709 0) -(-0.0212279 0.229601 0) -(0.0741937 -0.206354 0) -(0.00758996 -0.464096 0) -(-0.00638373 -0.43964 0) -(-0.00873959 -0.219817 0) -(-0.0382588 0.0634932 0) -(-0.094645 0.116707 0) -(-0.173019 0.0796797 0) -(-0.20443 0.0491172 0) -(-0.193938 0.0185246 0) -(-0.134463 -0.0275396 0) -(-0.0879747 -0.0654045 0) -(-0.00808231 -0.0655328 0) -(0.0563539 -0.0687485 0) -(0.123718 -0.0721122 0) -(0.160279 -0.0724736 0) -(0.168449 -0.0534129 0) -(0.161518 0.019943 0) -(0.117269 0.0737887 0) -(0.0742605 0.0982619 0) -(0.0475406 0.13413 0) -(0.0264541 0.191956 0) -(-0.0192247 0.286969 0) -(-0.0706652 0.409172 0) -(-0.106588 0.441353 0) -(-0.0399329 0.0512753 0) -(0.0468015 -0.228689 0) -(0.00195889 -0.402905 0) -(0.00441338 -0.446866 0) -(0.0130641 -0.243283 0) -(0.0200353 0.0805649 0) -(-0.0122968 0.271098 0) -(-0.0442404 0.282837 0) -(-0.0952864 0.119459 0) -(-0.114869 -0.0240157 0) -(-0.114487 -0.110129 0) -(-0.0797233 -0.198958 0) -(-0.0238056 -0.235138 0) -(0.0354068 -0.220393 0) -(0.0752814 -0.180147 0) -(0.100511 -0.111191 0) -(0.089732 -0.0557601 0) -(0.0768232 0.0600091 0) -(0.0473348 0.13096 0) -(0.0060725 0.145315 0) -(-0.00517386 0.199564 0) -(-0.0464532 0.290458 0) -(-0.095767 0.429543 0) -(-0.136434 0.490945 0) -(-0.133557 0.345665 0) -(-0.0243917 -0.166363 0) -(-0.0443889 -0.249286 0) -(0.00549513 -0.398134 0) -(-0.00217839 -0.477162 0) -(0.00200214 -0.264692 0) -(-0.00837839 0.0757573 0) -(-0.0139887 0.249649 0) -(0.0190361 0.273903 0) -(0.0243254 0.211448 0) -(0.0038123 0.0711044 0) -(0.00522994 -0.104554 0) -(0.0252126 -0.2646 0) -(0.0445795 -0.319625 0) -(0.0724582 -0.298821 0) -(0.0852656 -0.228057 0) -(0.0822151 -0.114058 0) -(0.0483237 -0.0104598 0) -(0.0256976 0.113382 0) -(0.0083102 0.215173 0) -(-0.0145197 0.209425 0) -(-0.0359861 0.264432 0) -(-0.106531 0.41087 0) -(-0.13283 0.485385 0) -(-0.156625 0.485253 0) -(-0.0825803 0.211999 0) -(0.00114434 -0.187567 0) -(-0.0546634 -0.269723 0) -(-0.000103809 -0.461229 0) -(-0.0088826 -0.44498 0) -(-0.0422454 -0.229585 0) -(-0.036049 0.100767 0) -(-0.0473325 0.191251 0) -(-0.0126067 0.214174 0) -(0.0197036 0.163584 0) -(0.0354901 0.0373241 0) -(0.057499 -0.139985 0) -(0.0708144 -0.283997 0) -(0.0679167 -0.359748 0) -(0.0629902 -0.319942 0) -(0.0339263 -0.229064 0) -(-0.00440347 -0.0678066 0) -(-0.0307507 0.0481003 0) -(-0.0395318 0.147007 0) -(-0.0264717 0.220144 0) -(-0.034644 0.247571 0) -(-0.0785572 0.402146 0) -(-0.1349 0.51369 0) -(-0.130908 0.529052 0) -(-0.16681 0.399229 0) -(-0.0513543 -0.0575074 0) -(-0.0507788 -0.233635 0) -(-0.00853716 -0.285726 0) -(-0.0216824 -0.485979 0) -(-0.00618738 -0.373833 0) -(-0.0466986 -0.211752 0) -(-0.0213357 0.107222 0) -(-0.0406577 0.179485 0) -(-0.0457251 0.127371 0) -(-0.01008 0.0980441 0) -(0.00998935 -0.0192561 0) -(0.0286711 -0.181355 0) -(0.0163512 -0.286631 0) -(-0.0315049 -0.310414 0) -(-0.0747321 -0.263968 0) -(-0.106994 -0.111561 0) -(-0.105139 0.019691 0) -(-0.0912111 0.0533672 0) -(-0.0745554 0.102086 0) -(-0.0463741 0.210867 0) -(-0.0639763 0.323273 0) -(-0.0809978 0.476543 0) -(-0.0927414 0.533241 0) -(-0.0817802 0.529529 0) -(-0.0842564 0.307821 0) -(-0.0207394 -0.125601 0) -(-0.0848337 -0.286324 0) -(-0.0160712 -0.372935 0) -(-0.00803756 -0.542753 0) -(0.000661295 -0.332266 0) -(-0.0248341 -0.205371 0) -(0.00802478 0.0905487 0) -(-0.0138493 0.228682 0) -(-0.0660189 0.138604 0) -(-0.0455257 0.0514042 0) -(-0.0375393 -0.0506919 0) -(-0.0386704 -0.141528 0) -(-0.0943103 -0.188558 0) -(-0.143807 -0.228424 0) -(-0.176979 -0.213718 0) -(-0.181054 -0.132914 0) -(-0.149546 -0.0332506 0) -(-0.124146 -0.0072303 0) -(-0.114721 0.0571358 0) -(-0.0844785 0.208492 0) -(-0.0837437 0.321873 0) -(-0.066615 0.45336 0) -(-0.0408406 0.507019 0) -(-0.0159356 0.50784 0) -(0.0162631 0.309693 0) -(0.0706292 -0.0416025 0) -(0.0174008 -0.247467 0) -(-0.0077547 -0.403622 0) -(0.00663491 -0.561562 0) -(-0.00241131 -0.318437 0) -(0.00862066 -0.212381 0) -(0.0159021 0.0336673 0) -(0.0227526 0.353997 0) -(-0.0676355 0.187302 0) -(-0.0819345 0.0536886 0) -(-0.0880494 -0.0341603 0) -(-0.113729 -0.0812094 0) -(-0.149277 -0.10933 0) -(-0.192909 -0.167289 0) -(-0.209018 -0.17937 0) -(-0.214942 -0.142385 0) -(-0.182388 -0.0533306 0) -(-0.148287 0.00171622 0) -(-0.143562 0.0321404 0) -(-0.121911 0.151426 0) -(-0.0981436 0.280654 0) -(-0.0726724 0.374286 0) -(-0.0277114 0.414466 0) -(0.00350035 0.400433 0) -(0.0603427 0.152085 0) -(0.0766169 -0.0277191 0) -(0.0649097 -0.179535 0) -(0.0129397 -0.364303 0) -(0.0169676 -0.547898 0) -(0.000539339 -0.34159 0) -(0.0230166 -0.232001 0) -(0.0150728 -0.00136642 0) -(0.0340591 0.420291 0) -(-0.0216603 0.346867 0) -(-0.0855472 0.109993 0) -(-0.105224 -0.00490669 0) -(-0.126908 -0.0387489 0) -(-0.128757 -0.047338 0) -(-0.138475 -0.0782259 0) -(-0.182742 -0.156013 0) -(-0.199755 -0.177724 0) -(-0.198264 -0.161577 0) -(-0.151292 -0.0900987 0) -(-0.117459 0.00998191 0) -(-0.0750318 0.110443 0) -(-0.0276301 0.215548 0) -(0.0297146 0.285159 0) -(0.0776065 0.32178 0) -(0.113088 0.315852 0) -(0.165767 0.174617 0) -(0.131059 -0.045947 0) -(0.1238 -0.147063 0) -(0.0834536 -0.314097 0) -(0.027128 -0.50773 0) -(-0.00640002 -0.372165 0) -(-0.0117612 -0.258491 0) -(-0.0304943 -0.00668444 0) -(0.0145426 0.403685 0) -(0.0160334 0.43392 0) -(-0.0245237 0.235324 0) -(-0.0478053 0.0588395 0) -(-0.0630521 -0.0432439 0) -(-0.0597772 -0.082151 0) -(-0.0539114 -0.0630726 0) -(-0.0621662 -0.0467709 0) -(-0.0857745 -0.101541 0) -(-0.117585 -0.15918 0) -(-0.119666 -0.180541 0) -(-0.0869873 -0.158768 0) -(-0.0411484 -0.0778545 0) -(0.0137862 0.0349159 0) -(0.0943465 0.113205 0) -(0.164047 0.215664 0) -(0.198379 0.224527 0) -(0.230619 0.166149 0) -(0.22042 0.0995013 0) -(0.170048 0.0356123 0) -(0.135754 -0.137244 0) -(0.0363462 -0.31685 0) -(-0.0222777 -0.307635 0) -(-0.0692958 -0.214394 0) -(-0.0858586 -0.00753762 0) -(-0.0324638 0.3158 0) -(0.0333185 0.399619 0) -(0.0454058 0.249106 0) -(0.0609184 0.0911454 0) -(0.0580292 0.00911912 0) -(0.049217 -0.0521658 0) -(0.0359809 -0.0614451 0) -(0.0423032 -0.0775769 0) -(0.0396083 -0.0886748 0) -(0.0181569 -0.105499 0) -(-0.0128982 -0.164222 0) -(-0.0255563 -0.185305 0) -(-0.0162336 -0.156808 0) -(0.0199099 -0.128244 0) -(0.0564693 -0.094351 0) -(0.087961 0.0463015 0) -(0.112073 0.15215 0) -(0.122365 0.134884 0) -(0.113548 0.116261 0) -(0.107645 0.0540692 0) -(0.0689118 -0.0764131 0) -(0.0209352 -0.192546 0) -(-0.0315332 -0.192412 0) -(-0.0686858 -0.137452 0) -(-0.10839 -0.0475914 0) -(-0.0718768 0.146592 0) -(0.00681437 0.232806 0) -(0.0602539 0.148317 0) -(0.0804995 0.0242004 0) -(0.0833183 -0.0280797 0) -(0.0811653 -0.0485993 0) -(0.0702633 -0.0487399 0) -(0.0733623 -0.0532095 0) -(0.0615789 -0.0525624 0) -(0.062682 -0.0524797 0) -(0.0338512 -0.0844732 0) -(0.00060668 -0.14277 0) -(-0.0210496 -0.152216 0) -(-0.0228933 -0.125481 0) -(-0.042061 -0.0421874 0) -(-0.0410915 0.0925423 0) -(-0.00875777 0.154263 0) -(0.00420971 0.151165 0) -(0.0252802 0.137326 0) -(0.0448454 0.118536 0) -(0.0383896 0.032904 0) -(0.0157797 -0.124157 0) -(-0.0331419 -0.128155 0) -(-0.067219 -0.07516 0) -(-0.0756359 0.0128783 0) -(-0.0529394 0.0590381 0) -(0.0142884 0.0740224 0) -(0.0696354 0.0487859 0) -(0.106539 0.00822998 0) -(0.118365 -0.0220742 0) -(0.129231 -0.0644743 0) -(0.128804 -0.087833 0) -(0.131305 -0.100756 0) -(0.124272 -0.103994 0) -(0.123365 -0.102886 0) -(0.111787 -0.0969681 0) -(0.0730541 -0.108822 0) -(0.0124598 -0.127882 0) -(-0.0406404 -0.118333 0) -(-0.0848876 -0.0882502 0) -(-0.0857036 -0.0301129 0) -(-0.0477335 0.022999 0) -(-0.0112728 0.0465895 0) -(0.0239885 0.02802 0) -(0.0521362 0.0261431 0) -(0.0701407 -0.0098629 0) -(0.0373998 -0.0786019 0) -(-0.00673444 -0.219765 0) -(-0.0283845 -0.227962 0) -(-0.0254797 -0.22985 0) -(-0.0140949 -0.228841 0) -(-0.0027639 -0.226439 0) -(0.0142837 -0.238473 0) -(0.0202837 -0.251975 0) -(0.0284937 -0.258172 0) -(0.0307065 -0.266238 0) -(0.0276889 -0.265341 0) -(0.0231221 -0.266062 0) -(0.0170449 -0.263633 0) -(0.0113536 -0.252913 0) -(0.0091503 -0.225332 0) -(0.00846185 -0.215207 0) -(0.000598205 -0.20281 0) -(-0.0100236 -0.199304 0) -(-0.0151417 -0.197846 0) -(-0.0149641 -0.215038 0) -(-0.0181196 -0.217788 0) -(-0.00745883 -0.207709 0) -(-0.00119304 -0.19937 0) -(0.00198995 -0.195376 0) -(0.00877605 -0.184208 0) -(0.00557262 -0.175093 0) -(0.000951616 -0.220817 0) -(0.000646376 -0.22906 0) -(-0.00175829 -0.252406 0) -(3.38655e-05 -0.261468 0) -(0.00432832 -0.263665 0) -(0.0113455 -0.271061 0) -(0.0145802 -0.272081 0) -(0.0185238 -0.267449 0) -(0.0138388 -0.257773 0) -(0.00775604 -0.247218 0) -(0.000442243 -0.238152 0) -(-0.00681317 -0.232969 0) -(-0.012252 -0.224375 0) -(-0.0119197 -0.215909 0) -(-0.0108175 -0.215361 0) -(-0.00999649 -0.207724 0) -(-0.011915 -0.210637 0) -(-0.0112612 -0.207572 0) -(-0.0104211 -0.217732 0) -(-0.0136991 -0.221705 0) -(-0.013851 -0.220209 0) -(-0.0140914 -0.212521 0) -(-0.0129349 -0.214773 0) -(-0.0118922 -0.206457 0) -(-0.00789114 -0.203976 0) -(0.00404495 -0.212872 0) -(0.00855767 -0.227665 0) -(0.0101335 -0.24553 0) -(0.00857478 -0.253505 0) -(0.00741543 -0.264429 0) -(0.00663235 -0.266613 0) -(0.00215682 -0.260369 0) -(-0.00399891 -0.253264 0) -(-0.00691501 -0.239346 0) -(-0.00889254 -0.231968 0) -(-0.00930327 -0.225252 0) -(-0.0104286 -0.223236 0) -(-0.0112378 -0.219375 0) -(-0.0119237 -0.213891 0) -(-0.0108453 -0.205467 0) -(-0.0099554 -0.197723 0) -(-0.00948263 -0.19721 0) -(-0.00884061 -0.205893 0) -(-0.00903542 -0.212123 0) -(-0.0102278 -0.220011 0) -(-0.0105138 -0.222248 0) -(-0.00828646 -0.213575 0) -(-0.00659857 -0.214629 0) -(-0.00703332 -0.209058 0) -(-0.00227453 -0.214454 0) -(0.00542109 -0.245926 0) -(0.0106032 -0.238634 0) -(0.010854 -0.249236 0) -(0.00876242 -0.252637 0) -(0.00453007 -0.257966 0) -(-0.00513822 -0.257207 0) -(-0.0114742 -0.25599 0) -(-0.0169037 -0.251318 0) -(-0.020266 -0.243234 0) -(-0.0219716 -0.237566 0) -(-0.0226626 -0.232553 0) -(-0.0223985 -0.22868 0) -(-0.0231117 -0.222302 0) -(-0.0241709 -0.217104 0) -(-0.0231922 -0.211435 0) -(-0.0203657 -0.20654 0) -(-0.0166632 -0.206571 0) -(-0.0135664 -0.21167 0) -(-0.0117394 -0.214821 0) -(-0.00879998 -0.220737 0) -(-0.0086934 -0.223367 0) -(-0.0056013 -0.220063 0) -(-0.00484241 -0.216812 0) -(-0.00426449 -0.216186 0) -(-0.000432306 -0.225821 0) -(0.00101988 -0.251804 0) -(0.00187509 -0.238421 0) -(0.000778526 -0.240542 0) -(-0.00148682 -0.244043 0) -(-0.00382411 -0.243968 0) -(-0.00654251 -0.239868 0) -(-0.01128 -0.235904 0) -(-0.0163584 -0.233219 0) -(-0.0195261 -0.231628 0) -(-0.0199146 -0.231773 0) -(-0.0203828 -0.229829 0) -(-0.0191604 -0.224491 0) -(-0.0189315 -0.219888 0) -(-0.0181255 -0.214507 0) -(-0.0191183 -0.211635 0) -(-0.0190925 -0.210557 0) -(-0.0182112 -0.209665 0) -(-0.017022 -0.214246 0) -(-0.0149553 -0.220472 0) -(-0.0122531 -0.225724 0) -(-0.00947732 -0.229517 0) -(-0.00727246 -0.224547 0) -(-0.00557617 -0.217101 0) -(-0.00463186 -0.217036 0) -(-0.00330665 -0.231921 0) -(8.25784e-05 -0.253848 0) -(-0.000268371 -0.238328 0) -(-0.00301136 -0.239058 0) -(-0.00647916 -0.241198 0) -(-0.0103013 -0.240858 0) -(-0.0142538 -0.235225 0) -(-0.0182661 -0.231072 0) -(-0.0218409 -0.229404 0) -(-0.0241709 -0.229872 0) -(-0.0295876 -0.230135 0) -(-0.031001 -0.229571 0) -(-0.0311472 -0.22868 0) -(-0.030436 -0.223805 0) -(-0.028412 -0.218443 0) -(-0.0263671 -0.215328 0) -(-0.0230363 -0.215668 0) -(-0.0185969 -0.219311 0) -(-0.0134096 -0.223808 0) -(-0.00999734 -0.227542 0) -(-0.00722822 -0.231166 0) -(-0.00551518 -0.234186 0) -(-0.0038587 -0.229493 0) -(-0.00282262 -0.221443 0) -(-0.00169673 -0.221114 0) -(2.06447e-05 -0.237812 0) -(0.000335563 -0.253489 0) -(0.000865174 -0.233776 0) -(-0.00146059 -0.230438 0) -(-0.00415664 -0.230431 0) -(-0.0074816 -0.229454 0) -(-0.0108598 -0.224791 0) -(-0.0134697 -0.220447 0) -(-0.0156702 -0.219528 0) -(-0.0175544 -0.22107 0) -(-0.0177251 -0.224193 0) -(-0.018488 -0.226349 0) -(-0.0190037 -0.225797 0) -(-0.0186123 -0.223764 0) -(-0.0177092 -0.221359 0) -(-0.0165239 -0.220859 0) -(-0.0155522 -0.221592 0) -(-0.015304 -0.223007 0) -(-0.015258 -0.227688 0) -(-0.0137041 -0.232161 0) -(-0.0112004 -0.236991 0) -(-0.00808428 -0.239237 0) -(-0.00485494 -0.232308 0) -(-0.00337747 -0.222952 0) -(-0.00296524 -0.222727 0) -(-0.00173884 -0.239798 0) -(0.000349145 -0.255939 0) -(0.00062909 -0.231933 0) -(-0.00102054 -0.227047 0) -(-0.00351247 -0.226384 0) -(-0.00590736 -0.225656 0) -(-0.00779789 -0.222142 0) -(-0.00952763 -0.21823 0) -(-0.0111687 -0.218456 0) -(-0.0124815 -0.221426 0) -(-0.0138324 -0.223488 0) -(-0.0148053 -0.22663 0) -(-0.0157874 -0.227884 0) -(-0.0167273 -0.226779 0) -(-0.0165335 -0.225205 0) -(-0.0150848 -0.224233 0) -(-0.0137614 -0.224532 0) -(-0.0124251 -0.226766 0) -(-0.0109831 -0.231256 0) -(-0.00997552 -0.237338 0) -(-0.00849914 -0.243503 0) -(-0.00679257 -0.245804 0) -(-0.0051098 -0.237961 0) -(-0.00416329 -0.226353 0) -(-0.00294021 -0.226083 0) -(-0.00108501 -0.247021 0) -(4.24721e-05 -0.256431 0) -(0.000304516 -0.230085 0) -(-0.000716007 -0.221956 0) -(-0.00221302 -0.220352 0) -(-0.00386584 -0.219108 0) -(-0.00617184 -0.216099 0) -(-0.00773335 -0.212464 0) -(-0.00875962 -0.213649 0) -(-0.00932796 -0.216741 0) -(-0.00984951 -0.219354 0) -(-0.0105588 -0.221952 0) -(-0.010929 -0.223515 0) -(-0.0109361 -0.224207 0) -(-0.0105392 -0.224616 0) -(-0.0107851 -0.224477 0) -(-0.0108553 -0.225027 0) -(-0.0104512 -0.227673 0) -(-0.00984337 -0.232456 0) -(-0.00898506 -0.238512 0) -(-0.00795746 -0.245588 0) -(-0.00587359 -0.248294 0) -(-0.00339441 -0.239864 0) -(-0.00227298 -0.227435 0) -(-0.00125421 -0.226667 0) -(-0.000871486 -0.249324 0) -(0.000409225 -0.257839 0) -(0.000711915 -0.230593 0) -(0.000793968 -0.220259 0) -(-0.000646462 -0.217923 0) -(-0.00232665 -0.216644 0) -(-0.00365784 -0.214334 0) -(-0.00441468 -0.211444 0) -(-0.0049945 -0.213907 0) -(-0.00553195 -0.217501 0) -(-0.00628806 -0.220309 0) -(-0.00731288 -0.222759 0) -(-0.00818725 -0.224717 0) -(-0.00825911 -0.225723 0) -(-0.00832097 -0.225249 0) -(-0.00826081 -0.224807 0) -(-0.00885666 -0.225891 0) -(-0.00879977 -0.229171 0) -(-0.00859457 -0.23418 0) -(-0.00836958 -0.240712 0) -(-0.00805374 -0.249818 0) -(-0.00641033 -0.254597 0) -(-0.00452138 -0.245245 0) -(-0.00293515 -0.231699 0) -(-0.00100869 -0.230221 0) -(-0.000420315 -0.252657 0) -(0.000118991 -0.259159 0) -(0.00127349 -0.231302 0) -(0.00120414 -0.219048 0) -(0.00120771 -0.214915 0) -(0.000153266 -0.213018 0) -(-0.00120494 -0.21076 0) -(-0.00246271 -0.208894 0) -(-0.00304297 -0.211621 0) -(-0.00366009 -0.214839 0) -(-0.00429086 -0.217177 0) -(-0.005503 -0.218977 0) -(-0.00687835 -0.221664 0) -(-0.00809126 -0.224044 0) -(-0.00898407 -0.223781 0) -(-0.00884368 -0.22305 0) -(-0.00846111 -0.225394 0) -(-0.00830692 -0.229215 0) -(-0.00808069 -0.234377 0) -(-0.00769128 -0.240892 0) -(-0.00759348 -0.251233 0) -(-0.0056055 -0.257743 0) -(-0.00277927 -0.248055 0) -(-0.000870318 -0.233306 0) -(-0.000791828 -0.23114 0) -(-0.000470737 -0.253708 0) -(-8.97735e-05 -0.260151 0) -(0.000271898 -0.232871 0) -(0.000601318 -0.218756 0) -(0.000149618 -0.213258 0) -(-0.00113219 -0.210678 0) -(-0.00226898 -0.208488 0) -(-0.00300058 -0.207744 0) -(-0.00326777 -0.210906 0) -(-0.00370789 -0.214189 0) -(-0.00399318 -0.21634 0) -(-0.00399851 -0.217676 0) -(-0.00436721 -0.220055 0) -(-0.00449099 -0.222919 0) -(-0.00504071 -0.223553 0) -(-0.00596975 -0.224086 0) -(-0.00633578 -0.225955 0) -(-0.00676778 -0.229212 0) -(-0.00722988 -0.234339 0) -(-0.00704433 -0.241286 0) -(-0.00763815 -0.25453 0) -(-0.00597556 -0.265033 0) -(-0.00289524 -0.256231 0) -(0.000268022 -0.237617 0) -(0.000444655 -0.231475 0) -(6.80294e-05 -0.25426 0) -(2.59183e-05 -0.260641 0) -(0.000661372 -0.233961 0) -(0.00124454 -0.218381 0) -(0.00130709 -0.212078 0) -(0.00089972 -0.208963 0) -(0.000335812 -0.206679 0) -(-9.93294e-05 -0.206662 0) -(9.75277e-05 -0.210224 0) -(-0.000192261 -0.213515 0) -(-0.000570344 -0.216128 0) -(-0.000943288 -0.217209 0) -(-0.00146038 -0.218996 0) -(-0.0026902 -0.221017 0) -(-0.00373599 -0.221005 0) -(-0.00485756 -0.220695 0) -(-0.00618773 -0.222617 0) -(-0.00729832 -0.228171 0) -(-0.00755772 -0.233526 0) -(-0.00804756 -0.240238 0) -(-0.00749901 -0.255866 0) -(-0.00685882 -0.269264 0) -(-0.00386096 -0.261344 0) -(-0.00127153 -0.240827 0) -(-6.19402e-05 -0.231727 0) -(-0.000121928 -0.254133 0) -(-0.000334361 -0.261047 0) -(-0.000555651 -0.235115 0) -(8.42401e-05 -0.218828 0) -(-0.000222396 -0.211752 0) -(-0.00118756 -0.207355 0) -(-0.00126687 -0.205858 0) -(-0.000523911 -0.20684 0) -(-2.23051e-05 -0.210451 0) -(-0.000233338 -0.213249 0) -(-0.000322883 -0.215214 0) -(-0.000280016 -0.216399 0) -(0.000265412 -0.217626 0) -(-0.000459861 -0.21987 0) -(-0.00117304 -0.219995 0) -(-0.00162353 -0.219525 0) -(-0.00186371 -0.221433 0) -(-0.00218427 -0.226117 0) -(-0.00363917 -0.232559 0) -(-0.00512323 -0.240734 0) -(-0.00583604 -0.256421 0) -(-0.00407282 -0.274961 0) -(-0.00187487 -0.270438 0) -(0.000943233 -0.246013 0) -(0.0006818 -0.231732 0) -(0.000446002 -0.254324 0) -(0.000105266 -0.26486 0) -(0.000818431 -0.238008 0) -(0.00127091 -0.2208 0) -(0.00133659 -0.211844 0) -(0.00282519 -0.208843 0) -(0.00364419 -0.208005 0) -(0.00413977 -0.208065 0) -(0.0034536 -0.21039 0) -(0.00375504 -0.213428 0) -(0.00354108 -0.215622 0) -(0.00305397 -0.216668 0) -(0.00188273 -0.21726 0) -(0.00120724 -0.217272 0) -(0.000119686 -0.2183 0) -(-4.59579e-06 -0.219973 0) -(-0.000665124 -0.220945 0) -(-0.00153237 -0.222927 0) -(-0.00389897 -0.228354 0) -(-0.00615498 -0.236754 0) -(-0.00802537 -0.257734 0) -(-0.00775732 -0.282832 0) -(-0.00482873 -0.280673 0) -(-0.0021193 -0.252462 0) -(2.37581e-05 -0.233025 0) -(-0.000242479 -0.256313 0) -(-0.000410047 -0.279599 0) -(-0.00116522 -0.250248 0) -(-0.00056507 -0.232974 0) -(0.000805405 -0.224412 0) -(0.00106032 -0.219207 0) -(0.00141604 -0.218008 0) -(0.00189483 -0.219389 0) -(0.0033373 -0.221184 0) -(0.00377824 -0.222702 0) -(0.00409683 -0.224417 0) -(0.00440499 -0.225721 0) -(0.0045489 -0.226336 0) -(0.00500349 -0.227307 0) -(0.00508704 -0.228103 0) -(0.004584 -0.228728 0) -(0.00343118 -0.229544 0) -(0.00315097 -0.230804 0) -(0.00276917 -0.234963 0) -(0.0014301 -0.243516 0) -(0.000212705 -0.266079 0) -(-0.000106209 -0.302699 0) -(-0.000436486 -0.305763 0) -(0.00070142 -0.273148 0) -(0.00100267 -0.246048 0) -(0.000716707 -0.270436 0) -(-0.000186106 -0.334395 0) -(0.000567537 -0.304298 0) -(0.00134348 -0.287237 0) -(0.00200479 -0.276983 0) -(0.00340998 -0.271015 0) -(0.00478347 -0.269762 0) -(0.00586136 -0.270887 0) -(0.00653161 -0.272742 0) -(0.00731399 -0.274183 0) -(0.00773051 -0.274997 0) -(0.00773219 -0.275196 0) -(0.00739855 -0.275048 0) -(0.00683331 -0.274963 0) -(0.00576939 -0.274721 0) -(0.00517722 -0.275994 0) -(0.00461468 -0.277796 0) -(0.00425723 -0.278949 0) -(0.00362898 -0.282514 0) -(0.00294761 -0.290478 0) -(0.00135822 -0.315832 0) -(0.000188657 -0.356588 0) -(-0.000693362 -0.363318 0) -(-0.000579133 -0.329156 0) -(0.000370275 -0.295812 0) -(0.000142979 -0.32205 0) -(-0.000238992 -0.455357 0) -(-0.000210256 -0.431043 0) -(0.000603566 -0.416188 0) -(0.00154886 -0.408621 0) -(0.00241357 -0.403684 0) -(0.00362173 -0.402728 0) -(0.00459904 -0.403658 0) -(0.00555617 -0.404891 0) -(0.00619993 -0.406272 0) -(0.00677634 -0.406889 0) -(0.00754734 -0.406879 0) -(0.00813509 -0.406534 0) -(0.00867538 -0.406434 0) -(0.00915111 -0.406293 0) -(0.00924917 -0.407097 0) -(0.00868431 -0.407916 0) -(0.00849393 -0.408459 0) -(0.00803176 -0.410955 0) -(0.00711471 -0.416901 0) -(0.00682252 -0.436721 0) -(0.00518893 -0.473387 0) -(0.00160235 -0.480504 0) -(-0.00114951 -0.452469 0) -(-0.00112515 -0.424892 0) -(8.57628e-05 -0.446071 0) -(-0.000315499 -0.550026 0) -(-0.000281919 -0.530282 0) -(0.000544145 -0.518278 0) -(0.00157615 -0.512034 0) -(0.0028261 -0.508069 0) -(0.00433169 -0.50725 0) -(0.00554652 -0.507934 0) -(0.00666509 -0.50883 0) -(0.00742123 -0.509938 0) -(0.00791445 -0.510405 0) -(0.008487 -0.510334 0) -(0.00884806 -0.509971 0) -(0.00920171 -0.509803 0) -(0.00930539 -0.509652 0) -(0.00920526 -0.510185 0) -(0.00872766 -0.510862 0) -(0.00878506 -0.511413 0) -(0.00869654 -0.513432 0) -(0.00844275 -0.518216 0) -(0.0082082 -0.53444 0) -(0.00632775 -0.564009 0) -(0.00218745 -0.569417 0) -(-0.000714079 -0.546426 0) -(-0.000766847 -0.524811 0) -(4.65096e-05 -0.542258 0) -) -; - -boundaryField -{ - inlet - { - type fixedValue; - value uniform (0 0 0); - } - - outlet - { - type pressureInletOutletVelocity; - phi phi2; - value nonuniform List<vector> -25 -( -(-0.000315499 -0.550026 0) -(-0.000281919 -0.530282 0) -(0.000544145 -0.518278 0) -(0.00157615 -0.512034 0) -(0.0028261 -0.508069 0) -(0.00433169 -0.50725 0) -(0.00554652 -0.507934 0) -(0.00666509 -0.50883 0) -(0.00742123 -0.509938 0) -(0.00791445 -0.510405 0) -(0.008487 -0.510334 0) -(0.00884806 -0.509971 0) -(0.00920171 -0.509803 0) -(0.00930539 -0.509652 0) -(0.00920526 -0.510185 0) -(0.00872766 -0.510862 0) -(0.00878506 -0.511413 0) -(0.00869654 -0.513432 0) -(0.00844275 -0.518216 0) -(0.0082082 -0.53444 0) -(0.00632775 -0.564009 0) -(0.00218745 -0.569417 0) -(-0.000714079 -0.546426 0) -(-0.000766847 -0.524811 0) -(4.65096e-05 -0.542258 0) -) -; - } - - walls - { - type fixedValue; - value uniform (0 0 0); - } - - defaultFaces - { - type empty; - } -} - -// ************************************************************************* // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/0/alpha1 b/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/0/alpha1 deleted file mode 100644 index 1e96e5898358bb009cfc2d4b1e121816bcc02e14..0000000000000000000000000000000000000000 --- a/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/0/alpha1 +++ /dev/null @@ -1,1926 +0,0 @@ -/*--------------------------------*- 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 alpha1; -} -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -dimensions [0 0 0 0 0 0 0]; - -internalField nonuniform List<scalar> -1875 -( -0.0548304 -0.0623421 -0.0794524 -0.0894836 -0.0869981 -0.0812588 -0.0751103 -0.074022 -0.0748355 -0.0763597 -0.0788793 -0.0792552 -0.0769845 -0.0688926 -0.0519894 --0.00753741 --0.0428937 --0.00611334 -0.048526 -0.0654223 -0.0534083 -0.0388266 -0.030309 -0.0906403 -0.0573169 -0.0677585 -0.0749894 -0.111227 -0.150629 -0.207244 -0.224638 -0.216721 -0.212082 -0.209764 -0.205933 -0.2054 -0.210627 -0.240833 -0.252489 -0.263075 -0.256311 -0.184737 -0.0647795 -0.0565476 -0.0705269 -0.0468687 -0.0503781 -0.447745 -0.228626 -0.0412855 -0.0765878 -0.0920896 -0.0945796 -0.0897102 -0.0908506 -0.108966 -0.11928 -0.122283 -0.129163 -0.133902 -0.148538 -0.147656 -0.208823 -0.287814 -0.392839 -0.432889 -0.179282 -0.0602057 -0.0490536 -0.06326 -0.0301004 -0.044322 -0.347753 -0.222614 -0.0580661 -0.0774311 -0.168999 -0.15296 -0.150495 -0.199711 -0.217948 -0.204586 -0.163955 -0.148388 -0.199424 -0.230525 -0.25015 -0.314607 -0.367503 -0.407244 -0.365514 -0.146976 -0.0600631 -0.0484226 -0.0589758 -0.0215465 -0.0713673 -0.383296 -0.252538 -0.084849 -0.0747927 -0.191497 -0.250551 -0.272281 -0.318538 -0.383113 -0.383273 -0.264682 -0.245327 -0.261841 -0.26286 -0.272433 -0.302876 -0.324439 -0.333574 -0.236679 -0.130168 -0.0519667 -0.0408861 -0.0403899 -0.0314694 -0.209634 -0.363462 -0.251125 -0.0990826 -0.0707352 -0.169339 -0.252151 -0.296879 -0.363435 -0.449059 -0.468992 -0.396875 -0.342303 -0.279122 -0.260497 -0.259759 -0.26695 -0.263158 -0.228365 -0.157612 -0.094658 -0.0450925 -0.0412135 -0.0406224 -0.0562977 -0.239062 -0.285406 -0.246931 -0.121172 -0.067325 -0.130564 -0.2262 -0.296236 -0.388328 -0.42684 -0.4202 -0.380098 -0.348687 -0.2758 -0.251542 -0.248472 -0.240963 -0.204851 -0.157356 -0.114521 -0.0636012 -0.0434253 -0.042109 -0.0439311 -0.0447382 -0.172608 -0.219094 -0.246152 -0.174903 -0.0710112 -0.119501 -0.215013 -0.253163 -0.339988 -0.391225 -0.391718 -0.352378 -0.321078 -0.250197 -0.217584 -0.198278 -0.149976 -0.0965145 -0.0715715 -0.0488777 -0.032089 -0.0278189 -0.0264319 -0.0373729 -0.0549931 -0.146785 -0.194982 -0.234741 -0.216862 -0.079705 -0.123036 -0.22043 -0.205523 -0.285796 -0.334684 -0.341156 -0.299131 -0.243703 -0.186723 -0.145023 -0.109432 -0.0675873 -0.0437774 -0.0351756 -0.029131 -0.0268031 -0.0263992 -0.0398214 -0.0861432 -0.186649 -0.206589 -0.184828 -0.177847 -0.216311 -0.0980646 -0.158972 -0.219526 -0.212652 -0.215522 -0.287711 -0.307771 -0.290046 -0.222114 -0.17485 -0.123933 -0.0765666 -0.049647 -0.0436035 -0.0419767 -0.0445667 -0.0455322 -0.0620655 -0.12025 -0.193307 -0.203171 -0.164683 -0.11598 -0.0515884 -0.124322 -0.122133 -0.166609 -0.187273 -0.260493 -0.156644 -0.227162 -0.264839 -0.26524 -0.220878 -0.183168 -0.141973 -0.0936408 -0.0553278 -0.0454663 -0.0444621 -0.0536388 -0.0678897 -0.0763383 -0.124482 -0.17042 -0.166777 -0.093375 -0.0531459 -0.0369463 -0.0793561 -0.135147 -0.14964 -0.130448 -0.232007 -0.152537 -0.144557 -0.21448 -0.227568 -0.210087 -0.180639 -0.151288 -0.119606 -0.0851365 -0.0636338 -0.0493 -0.0527713 -0.0651455 -0.0709015 -0.109781 -0.14225 -0.110684 -0.0638487 -0.0564369 -0.0660823 -0.0733794 -0.114427 -0.102706 -0.110863 -0.22586 -0.163777 -0.118543 -0.146743 -0.159867 -0.161461 -0.156442 -0.138646 -0.119527 -0.0931598 -0.0813179 -0.0691131 -0.0532866 -0.052539 -0.0552604 -0.0915788 -0.119602 -0.105888 -0.0744529 -0.0736707 -0.0851352 -0.0822765 -0.0935111 -0.0781043 -0.1283 -0.25283 -0.194458 -0.12161 -0.133576 -0.13755 -0.116304 -0.10647 -0.0959323 -0.0963314 -0.0859499 -0.0790304 -0.0798881 -0.0695575 -0.0468794 -0.045673 -0.0690178 -0.0987212 -0.108624 -0.115233 -0.105172 -0.0871229 -0.0928747 -0.0893538 -0.10332 -0.217173 -0.269753 -0.248991 -0.162985 -0.159579 -0.154646 -0.131756 -0.122903 -0.0967894 -0.0603195 -0.0536782 -0.0571817 -0.0700661 -0.0683329 -0.0501124 -0.0474957 -0.058922 -0.111262 -0.134974 -0.224772 -0.111677 -0.0843613 -0.0935528 -0.0966561 -0.145988 -0.238686 -0.255086 -0.298776 -0.278011 -0.267961 -0.225304 -0.192444 -0.173069 -0.150692 -0.0936343 -0.0556795 -0.0356709 -0.0357751 -0.0515386 -0.0498478 -0.0497518 -0.066669 -0.0985403 -0.167985 -0.369332 -0.132743 -0.0817724 -0.0929611 -0.09811 -0.139726 -0.223975 -0.284027 -0.343136 -0.299245 -0.300596 -0.238071 -0.214182 -0.184088 -0.149869 -0.108982 -0.0874414 -0.0491691 -0.0249572 -0.0408524 -0.0580323 -0.0612652 -0.0660238 -0.0811548 -0.331684 -0.403015 -0.168862 -0.0919107 -0.0962834 -0.0870445 -0.129929 -0.240926 -0.344756 -0.349775 -0.254159 -0.255671 -0.221588 -0.179509 -0.146754 -0.116876 -0.109119 -0.0955241 -0.0492485 -0.0267314 -0.0465165 -0.0728545 -0.0626188 -0.0637975 -0.179579 -0.587234 -0.392564 -0.170314 -0.104982 -0.101461 -0.082968 -0.138115 -0.221738 -0.359542 -0.38503 -0.230013 -0.157187 -0.126144 -0.110976 -0.110138 -0.100497 -0.107823 -0.0945146 -0.0389688 -0.0298509 -0.0547451 -0.0822809 -0.0999533 -0.251597 -0.579825 -0.545611 -0.2949 -0.155745 -0.117418 -0.105052 -0.0804842 -0.155847 -0.232088 -0.345762 -0.347085 -0.238022 -0.143914 -0.116049 -0.10605 -0.206644 -0.257038 -0.114064 -0.0612149 -0.0333713 -0.056496 -0.131705 -0.26974 -0.443914 -0.560254 -0.560335 -0.381546 -0.197076 -0.149187 -0.143069 -0.109416 -0.0749609 -0.160217 -0.199702 -0.280171 -0.152145 -0.0666199 -0.0664734 -0.246929 -0.411514 -0.232806 -0.138512 -0.0750425 -0.0472559 -0.0430703 -0.114505 -0.265859 -0.372059 -0.509452 -0.518379 -0.457894 -0.246365 -0.151931 -0.167832 -0.154085 -0.110464 -0.0735592 -0.146848 -0.116694 -0.112635 -0.0699891 -0.13673 -0.21846 -0.230052 -0.186718 -0.110921 -0.0628627 -0.0448772 -0.0383663 -0.039168 -0.0745422 -0.172378 -0.248831 -0.349149 -0.311709 -0.24349 -0.147145 -0.140529 -0.188856 -0.164601 -0.106747 -0.0790884 -0.153479 -0.0795915 -0.0781586 -0.120561 -0.181516 -0.179797 -0.121291 -0.0826141 -0.0589958 -0.0487892 -0.0403689 -0.0378203 -0.0379202 -0.0573637 -0.101884 -0.165751 -0.190452 -0.221 -0.194913 -0.133608 -0.159464 -0.203918 -0.167519 -0.101151 -0.09665 -0.210314 -0.0815409 -0.0744753 -0.116489 -0.206315 -0.208986 -0.135264 -0.0973566 -0.0747559 -0.0634323 -0.0596599 -0.0633453 -0.0828083 -0.113468 -0.145417 -0.162084 -0.163624 -0.167911 -0.144579 -0.151549 -0.169855 -0.191262 -0.161312 -0.0953067 -0.112863 -0.267305 -0.0989029 -0.0706988 -0.0990652 -0.182928 -0.212421 -0.195796 -0.165598 -0.146548 -0.143884 -0.151158 -0.142071 -0.130347 -0.116366 -0.115752 -0.124926 -0.131747 -0.125657 -0.120496 -0.172531 -0.160014 -0.148438 -0.131303 -0.0883712 -0.128229 -0.242534 -0.130967 -0.0742772 -0.0912205 -0.115682 -0.146866 -0.164485 -0.161747 -0.155232 -0.152602 -0.163635 -0.169006 -0.167986 -0.190025 -0.157539 -0.108648 -0.0985405 -0.103051 -0.131785 -0.167211 -0.142075 -0.128811 -0.111151 -0.0847732 -0.129201 -0.179547 -0.220509 -0.116071 -0.0958854 -0.0944166 -0.101064 -0.124314 -0.129561 -0.139907 -0.140398 -0.14653 -0.158682 -0.160032 -0.180787 -0.241484 -0.234778 -0.170716 -0.115324 -0.113047 -0.130376 -0.133579 -0.12739 -0.108146 -0.084428 -0.10362 -0.121922 -0.225395 -0.239289 -0.184898 -0.126716 -0.111901 -0.110005 -0.111768 -0.120903 -0.121045 -0.122699 -0.132938 -0.133927 -0.145275 -0.199037 -0.218323 -0.20341 -0.159977 -0.127579 -0.119277 -0.121591 -0.119737 -0.106927 -0.0821054 -0.0720205 -0.106533 -0.173912 -0.268948 -0.311379 -0.288807 -0.195192 -0.123459 -0.0796412 -0.0890668 -0.0922096 -0.0930014 -0.0982812 -0.0969353 -0.0980796 -0.120295 -0.151066 -0.157561 -0.152403 -0.147656 -0.130065 -0.121221 -0.116618 -0.107411 -0.0815869 -0.0676607 -0.107157 -0.0907348 -0.166579 -0.291194 -0.326016 -0.312991 -0.203253 -0.0925379 -0.0650276 -0.0614715 -0.0623592 -0.0661354 -0.0675073 -0.0754019 -0.104681 -0.122505 -0.135594 -0.156166 -0.153096 -0.138932 -0.126082 -0.115436 -0.108077 -0.0847511 -0.0743721 -0.0880376 -0.0701451 -0.0799815 -0.168513 -0.301919 -0.318485 -0.297068 -0.158781 -0.0713156 -0.0546533 -0.0561697 -0.0605606 -0.0671945 -0.0857768 -0.120043 -0.126673 -0.136642 -0.155562 -0.152807 -0.138254 -0.12699 -0.115136 -0.109868 -0.0943809 -0.0838388 -0.0792101 -0.0918152 -0.0912964 -0.101162 -0.209734 -0.299239 -0.295133 -0.242351 -0.117571 -0.0598923 -0.0525311 -0.0644173 -0.088498 -0.11878 -0.128214 -0.125473 -0.132328 -0.140341 -0.143864 -0.13048 -0.129544 -0.116245 -0.120045 -0.112124 -0.0836255 -0.0879137 -0.129468 -0.163628 -0.13205 -0.166991 -0.262016 -0.286284 -0.260528 -0.135244 -0.0622901 -0.0595454 -0.0879414 -0.118031 -0.125827 -0.120171 -0.117353 -0.11451 -0.110944 -0.118052 -0.117335 -0.126932 -0.122718 -0.130888 -0.131661 -0.0800041 -0.0946197 -0.14806 -0.362202 -0.130677 -0.118569 -0.229349 -0.257811 -0.242196 -0.130319 -0.0671586 -0.0819486 -0.115956 -0.141426 -0.11814 -0.103259 -0.106816 -0.10341 -0.108799 -0.107826 -0.104273 -0.116253 -0.165552 -0.140155 -0.140517 -0.0819721 -0.11019 -0.175134 -0.430433 -0.216516 -0.107979 -0.162629 -0.248259 -0.235117 -0.116561 -0.0626958 -0.104693 -0.137766 -0.132552 -0.111273 -0.099622 -0.105306 -0.103302 -0.11518 -0.113579 -0.104357 -0.122648 -0.176603 -0.148223 -0.14304 -0.0919238 -0.112423 -0.123886 -0.361632 -0.582615 -0.2652 -0.198887 -0.26463 -0.197837 -0.0842478 -0.0620283 -0.122689 -0.144344 -0.117382 -0.100239 -0.0937794 -0.0971306 -0.114798 -0.114548 -0.108852 -0.118169 -0.137958 -0.169438 -0.155229 -0.139919 -0.094834 -0.115104 -0.10249 -0.292801 -0.474725 -0.423076 -0.264832 -0.239504 -0.128072 -0.073392 -0.0725883 -0.131133 -0.135074 -0.103092 -0.0914723 -0.0833994 -0.07806 -0.1034 -0.112956 -0.109789 -0.131722 -0.141156 -0.142969 -0.157691 -0.123666 -0.0918485 -0.122871 -0.087835 -0.226215 -0.391053 -0.406831 -0.27239 -0.175651 -0.104971 -0.0796616 -0.106128 -0.156863 -0.130645 -0.0972547 -0.0838792 -0.0710501 -0.0627999 -0.0844029 -0.104839 -0.10565 -0.14044 -0.138959 -0.113898 -0.180972 -0.111637 -0.097422 -0.113604 -0.102632 -0.129757 -0.219307 -0.327667 -0.286688 -0.172195 -0.115668 -0.0954983 -0.142016 -0.178497 -0.134204 -0.0865106 -0.0631957 -0.057235 -0.0581712 -0.0776772 -0.0973227 -0.10738 -0.152177 -0.138453 -0.111105 -0.242982 -0.114065 -0.0982482 -0.125046 -0.136851 -0.0752342 -0.0976802 -0.248451 -0.272298 -0.200694 -0.13828 -0.120795 -0.150016 -0.178824 -0.149769 -0.0954581 -0.0738712 -0.0750659 -0.0733562 -0.0792874 -0.0922305 -0.12327 -0.158277 -0.127999 -0.136705 -0.207612 -0.129018 -0.102733 -0.151993 -0.187422 -0.113407 -0.0738066 -0.133507 -0.219951 -0.19558 -0.163204 -0.14757 -0.165432 -0.188831 -0.172178 -0.138631 -0.161668 -0.152498 -0.0774796 -0.0535821 -0.0646048 -0.113833 -0.157906 -0.133765 -0.16394 -0.112103 -0.120106 -0.102689 -0.162691 -0.2814 -0.311145 -0.154686 -0.121118 -0.184539 -0.204634 -0.193035 -0.182956 -0.186691 -0.190212 -0.187305 -0.160247 -0.164423 -0.166003 -0.149418 -0.0939451 -0.0597502 -0.0647413 -0.123263 -0.126259 -0.162135 -0.0974875 -0.0955192 -0.0952817 -0.141839 -0.312024 -0.351307 -0.290589 -0.215275 -0.206651 -0.201818 -0.188995 -0.177082 -0.177492 -0.178479 -0.173158 -0.155159 -0.154498 -0.154583 -0.156828 -0.160269 -0.118679 -0.0715912 -0.0918959 -0.118617 -0.170166 -0.179512 -0.0766929 -0.102228 -0.099936 -0.187074 -0.257043 -0.228663 -0.184211 -0.172626 -0.161297 -0.156115 -0.136871 -0.140182 -0.139453 -0.128013 -0.128491 -0.130873 -0.124411 -0.11945 -0.151349 -0.164335 -0.114861 -0.106773 -0.125989 -0.178082 -0.230365 -0.0867008 -0.104458 -0.117647 -0.0969655 -0.184994 -0.172864 -0.110369 -0.10045 -0.0894637 -0.0881788 -0.0857815 -0.0843227 -0.0866928 -0.0876044 -0.0909866 -0.109494 -0.122071 -0.139084 -0.178011 -0.16608 -0.121419 -0.128967 -0.166996 -0.14498 -0.205479 -0.130619 -0.102034 -0.167795 -0.112605 -0.156709 -0.187314 -0.111508 -0.0994387 -0.0907358 -0.0788382 -0.0753522 -0.0782186 -0.0848895 -0.0854934 -0.0885042 -0.111412 -0.135562 -0.153193 -0.172025 -0.164249 -0.150729 -0.174226 -0.144833 -0.0695522 -0.138636 -0.167467 -0.103535 -0.195937 -0.206743 -0.156178 -0.194497 -0.147236 -0.122842 -0.121623 -0.0824244 -0.0705113 -0.0885346 -0.106945 -0.103345 -0.0983153 -0.118606 -0.150526 -0.146847 -0.148472 -0.168906 -0.179927 -0.161697 -0.135224 -0.144459 -0.0956971 -0.124976 -0.107786 -0.208219 -0.296968 -0.164823 -0.187729 -0.167989 -0.137431 -0.108683 -0.0791975 -0.0805105 -0.102784 -0.183344 -0.231029 -0.160742 -0.134688 -0.148719 -0.128272 -0.153076 -0.181951 -0.184257 -0.166222 -0.136055 -0.215382 -0.140255 -0.104093 -0.109439 -0.20285 -0.275501 -0.186003 -0.170711 -0.167328 -0.134415 -0.0888649 -0.0708317 -0.0974769 -0.174393 -0.283963 -0.347231 -0.232965 -0.158663 -0.147479 -0.125899 -0.163708 -0.197109 -0.205366 -0.224018 -0.207064 -0.182863 -0.18699 -0.107881 -0.108852 -0.184169 -0.223735 -0.230926 -0.154129 -0.153713 -0.105787 -0.0738739 -0.104193 -0.178962 -0.214022 -0.244651 -0.265222 -0.206634 -0.156731 -0.147709 -0.132284 -0.18025 -0.209238 -0.217065 -0.267435 -0.339214 -0.177857 -0.163943 -0.118395 -0.101934 -0.15671 -0.221405 -0.248208 -0.148586 -0.119594 -0.104953 -0.110115 -0.176242 -0.19167 -0.181519 -0.178889 -0.183299 -0.162397 -0.153071 -0.15231 -0.163671 -0.178417 -0.208728 -0.234282 -0.254146 -0.242248 -0.223657 -0.200357 -0.119445 -0.0958487 -0.144491 -0.253086 -0.261182 -0.156351 -0.121613 -0.128773 -0.170507 -0.190858 -0.188049 -0.165656 -0.155113 -0.151492 -0.148501 -0.130312 -0.126454 -0.134026 -0.154681 -0.192332 -0.256064 -0.269837 -0.290542 -0.362155 -0.267312 -0.11689 -0.0932029 -0.169644 -0.352207 -0.319325 -0.211248 -0.139341 -0.148064 -0.176046 -0.197405 -0.216558 -0.206988 -0.151158 -0.140208 -0.139815 -0.130907 -0.126903 -0.130433 -0.135134 -0.149332 -0.215821 -0.25025 -0.31481 -0.347585 -0.265442 -0.0939545 -0.0964387 -0.236057 -0.382995 -0.38326 -0.301354 -0.222575 -0.201611 -0.196668 -0.1845 -0.197447 -0.218928 -0.208369 -0.174246 -0.143584 -0.141439 -0.157112 -0.157354 -0.163814 -0.186883 -0.226223 -0.264224 -0.317313 -0.319042 -0.239438 -0.0871377 -0.0973185 -0.242876 -0.361566 -0.377797 -0.326433 -0.293286 -0.268339 -0.271344 -0.239783 -0.216599 -0.218599 -0.23477 -0.226306 -0.151349 -0.120205 -0.117848 -0.137814 -0.193677 -0.258175 -0.25663 -0.281732 -0.295599 -0.277331 -0.177728 -0.0562367 -0.145285 -0.251732 -0.297866 -0.313549 -0.306309 -0.295189 -0.290474 -0.291793 -0.281567 -0.273813 -0.270739 -0.282995 -0.297537 -0.27172 -0.195667 -0.161762 -0.186161 -0.253705 -0.28154 -0.280162 -0.285981 -0.285637 -0.277834 -0.210687 -0.0871008 -0.784432 -0.702559 -0.641179 -0.595601 -0.584609 -0.59835 -0.648602 -0.681405 -0.740051 -0.787236 -0.820313 -0.8317 -0.852937 -0.877907 -0.869415 -0.864211 -0.846847 -0.823965 -0.74757 -0.696188 -0.660893 -0.67014 -0.682383 -0.738821 -0.77547 -0.992354 -0.991562 -0.989776 -0.989407 -0.988263 -0.99076 -0.992934 -0.994268 -0.996292 -0.99632 -0.996489 -0.996169 -0.995278 -0.993918 -0.993578 -0.992796 -0.992128 -0.99058 -0.989497 -0.988317 -0.986049 -0.985622 -0.985174 -0.985657 -0.986734 -0.9997 -0.999714 -0.999795 -0.999857 -0.999864 -0.999923 -0.999932 -0.999918 -0.999906 -0.999886 -0.999872 -0.999848 -0.999795 -0.999706 -0.999667 -0.999596 -0.999578 -0.999534 -0.999558 -0.999546 -0.999478 -0.999402 -0.999383 -0.999328 -0.99935 -0.99999 -0.999992 -0.999996 -0.999998 -0.999999 -0.999999 -0.999999 -0.999998 -0.999997 -0.999996 -0.999995 -0.999994 -0.999991 -0.999986 -0.999982 -0.999977 -0.999976 -0.999978 -0.99998 -0.999981 -0.999979 -0.999974 -0.999974 -0.999971 -0.999974 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0.999999 -0.999999 -0.999999 -0.999999 -0.999999 -0.999999 -0.999998 -0.999997 -0.999997 -0.999998 -0.999999 -0.999999 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0.999998 -0.999998 -0.999998 -0.999999 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0.999998 -0.999997 -0.999997 -0.999999 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0.999998 -0.999995 -0.999996 -0.999998 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0.999997 -0.999994 -0.999994 -0.999997 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0.999997 -0.999992 -0.999992 -0.999996 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0.999996 -0.99999 -0.999989 -0.999994 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0.999996 -0.999989 -0.999987 -0.999992 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0.999996 -0.999987 -0.999985 -0.999991 -0.999999 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0.999996 -0.999986 -0.999982 -0.999988 -0.999999 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0.999996 -0.999984 -0.999979 -0.999986 -0.999999 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0.999997 -0.999984 -0.999978 -0.999985 -0.999999 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0.999997 -0.999984 -0.999978 -0.999985 -0.999999 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0.999998 -0.999987 -0.999982 -0.999987 -0.999999 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0.999998 -0.999987 -0.999983 -0.999988 -0.999999 -1 -) -; - -boundaryField -{ - inlet - { - type fixedValue; - value uniform 0.5; - } - - outlet - { - type inletOutlet; - inletValue uniform 1; - value uniform 1; - } - - walls - { - type zeroGradient; - } - - defaultFaces - { - type empty; - } -} - -// ************************************************************************* // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/0/epsilon b/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/0/epsilon deleted file mode 100644 index d54d0a402bae4eb3e2e8f7916d06fb9de239be57..0000000000000000000000000000000000000000 --- a/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/0/epsilon +++ /dev/null @@ -1,48 +0,0 @@ -/*--------------------------------*- 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 0.1; - -boundaryField -{ - inlet - { - type fixedValue; - value uniform 0.1; - } - - outlet - { - type inletOutlet; - phi phi2; - inletValue uniform 0.1; - value uniform 0.1; - } - - walls - { - type zeroGradient; - } - - defaultFaces - { - type empty; - } -} - -// ************************************************************************* // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/0/k b/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/0/k deleted file mode 100644 index bf8d7cc467cd6a46871954606b86a3132f02972a..0000000000000000000000000000000000000000 --- a/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/0/k +++ /dev/null @@ -1,48 +0,0 @@ -/*--------------------------------*- 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 1e-8; - -boundaryField -{ - inlet - { - type fixedValue; - value uniform 1e-8; - } - - outlet - { - type inletOutlet; - phi phi2; - inletValue uniform 1e-8; - value uniform 1e-8; - } - - walls - { - type zeroGradient; - } - - defaultFaces - { - type empty; - } -} - -// ************************************************************************* // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/0/p b/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/0/p deleted file mode 100644 index 5fffa73a19c7bb4636820cdc2558cd1f43b0429d..0000000000000000000000000000000000000000 --- a/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/0/p +++ /dev/null @@ -1,1926 +0,0 @@ -/*--------------------------------*- 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 nonuniform List<scalar> -1875 -( -6296.13 -6183.25 -6130.53 -6102.97 -6085.59 -6070.83 -6056.52 -6042.12 -6032.24 -6023.39 -6020 -6019.35 -6022.8 -6035.92 -6058.4 -6096.69 -6151.53 -6194.63 -6220.36 -6227.39 -6190.28 -6200.25 -6159.79 -6145.34 -6239.45 -5932.88 -5894.83 -5896 -5896.13 -5896.42 -5893.93 -5892.58 -5888.84 -5884.44 -5877.96 -5872.77 -5864.16 -5858.72 -5859.75 -5863.29 -5874.06 -5903.63 -5933.39 -5949.13 -5948.76 -5936.64 -5920.16 -5894.61 -5887.73 -5904.59 -5829.55 -5827.28 -5827.17 -5826.79 -5820.6 -5810.48 -5802.08 -5795.34 -5787.03 -5775.04 -5773.95 -5776.62 -5774.94 -5777.31 -5779.57 -5787.46 -5807.7 -5827.9 -5860.51 -5895.43 -5910.03 -5904.37 -5908.12 -5902.27 -5915.81 -5680.23 -5677.28 -5676.59 -5674.62 -5670.55 -5664.23 -5662.59 -5662.65 -5654.98 -5651.9 -5655.82 -5654.19 -5660.21 -5667.38 -5675.59 -5686.03 -5699.99 -5707.47 -5731.06 -5747.04 -5757.95 -5746.13 -5751.94 -5752.54 -5756.48 -5596.51 -5594.34 -5595.28 -5587.93 -5584.85 -5580.19 -5581.94 -5583.69 -5581.75 -5582.87 -5588.62 -5593.54 -5600.08 -5606.28 -5613.47 -5620.91 -5626.09 -5639.9 -5656.52 -5690.9 -5692.53 -5685.55 -5691.46 -5690.28 -5692.68 -5500.77 -5499.4 -5498.12 -5490.19 -5484.73 -5481.73 -5483.39 -5482.97 -5483.81 -5486.56 -5489.45 -5492.85 -5498.29 -5502.79 -5509.32 -5513.74 -5523.43 -5538.03 -5541.75 -5560.77 -5558.05 -5558.63 -5564.38 -5561.96 -5569.11 -5429.77 -5429.37 -5425.69 -5419.15 -5415.38 -5412.85 -5412.65 -5411.07 -5410.11 -5408.78 -5409.05 -5408.7 -5412.7 -5415.54 -5421.1 -5425.72 -5431.77 -5440.25 -5439.18 -5444.29 -5457.33 -5463.86 -5472.09 -5470.76 -5481.47 -5339.81 -5337.93 -5335.2 -5328.01 -5325.1 -5320.24 -5318.66 -5315.69 -5313.67 -5312.31 -5310.7 -5311.52 -5313.88 -5317.44 -5323.51 -5333.7 -5347.39 -5349.64 -5342.77 -5322.66 -5327.03 -5336.54 -5355.71 -5357.95 -5365.12 -5251.22 -5257.02 -5245.19 -5241.32 -5235.96 -5230.82 -5224.79 -5220.71 -5215.58 -5212.63 -5208.81 -5207.86 -5209.49 -5211.23 -5215.25 -5217.38 -5227.33 -5236.75 -5234.3 -5218.38 -5221.33 -5238.35 -5270.98 -5297.32 -5285.38 -5134.78 -5141.28 -5129.11 -5125.34 -5118.41 -5113.56 -5104.26 -5098.63 -5091.73 -5085.87 -5080.29 -5076.67 -5075.57 -5074.74 -5078.38 -5083.91 -5093.59 -5100.11 -5107.38 -5107.94 -5122.84 -5155.95 -5184.47 -5216.19 -5206.06 -5029.85 -5023.59 -5029.5 -5013.09 -5006.47 -5001.87 -4991.19 -4982.46 -4973.99 -4966.68 -4961.15 -4956.84 -4956.99 -4958.22 -4962.14 -4968.3 -4976.1 -4986.28 -4991.41 -4991.3 -4995.3 -5013.36 -5037.47 -5054.9 -5054.19 -4890.06 -4882.82 -4894.45 -4873.06 -4880.32 -4867.96 -4857.91 -4849.54 -4841.6 -4834.95 -4830.57 -4826.25 -4825.98 -4826 -4828.43 -4831.83 -4833.12 -4837.79 -4826.5 -4809.86 -4805.99 -4807.58 -4826.08 -4838.35 -4849.96 -4714.62 -4711.97 -4714.51 -4705 -4712.73 -4717.07 -4710.49 -4705.38 -4701.03 -4698.8 -4697.36 -4696.05 -4695.76 -4695.5 -4695.28 -4694.77 -4692.61 -4684.45 -4666.01 -4637.19 -4617.3 -4609.3 -4624.85 -4629.39 -4642.5 -4523.06 -4524.71 -4511.18 -4518.2 -4532.12 -4535.39 -4532.36 -4536.62 -4540.76 -4541.39 -4546.94 -4550.14 -4553.57 -4554.46 -4552.79 -4548.86 -4539.3 -4524.99 -4496.6 -4460.83 -4442.56 -4425.45 -4434.71 -4439.78 -4450.38 -4371.81 -4372.7 -4361.27 -4367.5 -4369.38 -4376.32 -4375.22 -4378.42 -4383.14 -4389.68 -4398.4 -4408.96 -4416.32 -4420.86 -4420.99 -4416.68 -4401.43 -4378.84 -4354.01 -4322.2 -4302.78 -4293.71 -4296.25 -4303.54 -4305.22 -4239.77 -4240.95 -4230.58 -4241.42 -4249.56 -4255.4 -4253.65 -4259.03 -4262.5 -4269.1 -4276.6 -4286.18 -4297.58 -4303.77 -4311.08 -4299.92 -4285.78 -4267.75 -4237.04 -4223.55 -4200.59 -4202.11 -4196.31 -4204.32 -4206.45 -4146.5 -4145.49 -4139.78 -4144.33 -4155.96 -4170.77 -4169.64 -4166.97 -4162.64 -4164.54 -4168.33 -4176.24 -4182.78 -4189.55 -4185.86 -4184.88 -4173.3 -4158.6 -4140.45 -4133.47 -4115.66 -4121.51 -4116.35 -4120.3 -4121.23 -4102.95 -4103.86 -4099.71 -4102.17 -4104.47 -4111.01 -4105.54 -4100.41 -4083.36 -4078.2 -4069.78 -4064.79 -4065.88 -4070.09 -4072.82 -4073.35 -4070.25 -4064.82 -4062.31 -4042.21 -4043.05 -4042.59 -4045.18 -4046.01 -4048.13 -4032.15 -4035.14 -4028.68 -4028.22 -4014.15 -3997.14 -3996.25 -3976.92 -3959.31 -3938.8 -3934.92 -3934.92 -3946.84 -3949.95 -3958.19 -3964.72 -3973.8 -3972.13 -3963.12 -3956.34 -3965.47 -3964.16 -3969.75 -3970.48 -3972.74 -3971.33 -3971.63 -3969.38 -3967.06 -3968.39 -3943.28 -3910.35 -3884.37 -3861.89 -3837.93 -3827.63 -3826.91 -3837.33 -3850.34 -3860.21 -3865.31 -3871.77 -3866.62 -3871.02 -3875.25 -3884.01 -3887.22 -3893.04 -3893.8 -3896.7 -3917.09 -3913.8 -3913.32 -3912.68 -3912.47 -3896.81 -3850.81 -3796.7 -3778.85 -3771.98 -3774.64 -3779.2 -3787.05 -3791.83 -3794.09 -3791.58 -3795.13 -3799.01 -3801.91 -3808.11 -3808.81 -3814.53 -3815.73 -3818.71 -3819.36 -3828.46 -3820.53 -3819.93 -3814.39 -3808.93 -3766.04 -3739.6 -3724.01 -3718.07 -3712.81 -3714.72 -3721.59 -3733.84 -3739.77 -3740.59 -3734.56 -3737.28 -3743.07 -3745.23 -3751.77 -3749.9 -3751.12 -3747.66 -3749.18 -3748.73 -3723.23 -3711.43 -3717.34 -3704.45 -3691.91 -3677.36 -3662.34 -3653.8 -3648.59 -3646.73 -3652.46 -3662.08 -3676.04 -3684.36 -3684.74 -3678.21 -3672.87 -3671.25 -3667.14 -3666.07 -3660.68 -3657.48 -3655.93 -3655.47 -3655.5 -3586.18 -3578.34 -3582.86 -3572.31 -3567.65 -3550.99 -3537.87 -3525.19 -3518.27 -3514.63 -3520.79 -3525.1 -3534.78 -3538.86 -3539.29 -3543.13 -3550.55 -3556.94 -3559.06 -3560.38 -3555.81 -3556.85 -3555.01 -3557.07 -3556.94 -3476.58 -3473.6 -3467.31 -3457.76 -3442.56 -3431.12 -3420.39 -3411.43 -3407.71 -3404.13 -3401.26 -3396.55 -3393.36 -3401.61 -3406.07 -3412.62 -3422.58 -3432.15 -3440.88 -3445.51 -3446.08 -3449.24 -3451.23 -3453.74 -3454.4 -3386.34 -3401.96 -3377.92 -3367.15 -3351.35 -3343.8 -3330.12 -3321.91 -3312.27 -3306.28 -3300.42 -3296.61 -3292.69 -3293.58 -3289.36 -3294.53 -3300.53 -3308.72 -3317.27 -3322.27 -3328.25 -3333.22 -3337.59 -3341.61 -3342.04 -3270.33 -3282.79 -3257 -3254.74 -3237.46 -3236.79 -3224.97 -3223.1 -3214.92 -3209.14 -3204.8 -3201.41 -3198.47 -3196.71 -3195.02 -3193.94 -3194.86 -3199.83 -3210.11 -3216.96 -3222.33 -3226 -3228.96 -3231.36 -3231.97 -3145.06 -3139.47 -3141.64 -3132.87 -3117.15 -3108 -3107.7 -3103.41 -3104.14 -3103.49 -3103.4 -3102.11 -3100.75 -3100.69 -3100.05 -3100.91 -3102.12 -3104 -3108.52 -3112.94 -3117.37 -3120.48 -3123.25 -3125.06 -3125.64 -3039.03 -3034.71 -3044.89 -3028.17 -3014.83 -2998.54 -2991.82 -2988.31 -2990.89 -2990.76 -2992.82 -2992.71 -2992.91 -2993.55 -2993.93 -2996.52 -2998.77 -3001.81 -3003.8 -3006.3 -3008.47 -3010.71 -3013.02 -3013.98 -3014.73 -2908.73 -2907.67 -2915.01 -2902.96 -2883.11 -2870.53 -2861.82 -2861.77 -2858.11 -2866.01 -2868.24 -2871.95 -2874.15 -2877.48 -2879.23 -2881.94 -2885.54 -2888.54 -2889.22 -2891.04 -2892.59 -2894.76 -2896.72 -2897.24 -2898.08 -2743.7 -2742.01 -2738.5 -2725.55 -2717.81 -2712.86 -2711.05 -2715.87 -2724.18 -2734.62 -2743.94 -2749.05 -2753.75 -2756.91 -2760.57 -2764.19 -2768.42 -2770.96 -2772.39 -2774.26 -2775.19 -2776.7 -2779.08 -2778.79 -2779.65 -2565.53 -2560.37 -2552.02 -2536.37 -2538.07 -2543.7 -2562.95 -2577.19 -2589.69 -2603.57 -2622.53 -2629.62 -2635.93 -2638.27 -2641.85 -2646.21 -2650.1 -2652.23 -2654.12 -2654.38 -2656.38 -2656.95 -2658.31 -2658.33 -2659 -2389.07 -2379.85 -2367.53 -2354.3 -2366.15 -2384.52 -2405.82 -2433.43 -2462.89 -2488.05 -2504.2 -2511.52 -2516.4 -2518.23 -2521.69 -2525.69 -2529.22 -2531.56 -2533.69 -2534.55 -2536.77 -2538.52 -2538.07 -2539.44 -2539.43 -2273.44 -2271.89 -2265.88 -2258.46 -2270.69 -2284.82 -2303.38 -2320.92 -2344.94 -2368.77 -2388.71 -2394.95 -2400.64 -2402.63 -2405.76 -2407.81 -2409.72 -2410.94 -2410.53 -2414.6 -2417.09 -2418.33 -2418.34 -2420.27 -2419.98 -2185.65 -2185.04 -2177.85 -2185.4 -2179.64 -2198.58 -2203.6 -2217.85 -2237.88 -2261.45 -2281.47 -2286.63 -2291.77 -2295.98 -2295.29 -2295 -2293.4 -2291.66 -2293.09 -2294.87 -2299.02 -2301.11 -2301.98 -2303.28 -2302.96 -2091.49 -2091.8 -2084.97 -2086.93 -2079.18 -2084.09 -2087.53 -2100.32 -2126.33 -2149.78 -2166.81 -2172.17 -2178.09 -2182.93 -2181.73 -2179.44 -2176.5 -2174.1 -2177.42 -2178.54 -2180.89 -2182.27 -2186.01 -2185.47 -2186.4 -2019.46 -2019.6 -2015.77 -2015.14 -2013.82 -2011.58 -2012.35 -2017.51 -2024.81 -2034.17 -2042.04 -2045.58 -2054.16 -2056.02 -2060.91 -2061.06 -2061.84 -2065.31 -2067.03 -2067.91 -2068.01 -2069.22 -2074.55 -2072.99 -2075.21 -1941.72 -1942.55 -1944.6 -1944.6 -1943.14 -1940.45 -1935.96 -1930.74 -1921.85 -1910.23 -1906.16 -1907.96 -1916.47 -1922.35 -1930.54 -1936.69 -1942.73 -1948.6 -1953.45 -1955.74 -1957.09 -1958.79 -1964.58 -1962.03 -1967.35 -1859.93 -1862.27 -1867.44 -1868.49 -1871.4 -1864.79 -1856.13 -1837.86 -1816.62 -1792.52 -1776.69 -1780.67 -1786.01 -1795.7 -1805.76 -1816.65 -1826.23 -1832.42 -1841.3 -1846.17 -1853.55 -1857.44 -1862.73 -1864.65 -1867.63 -1742.2 -1743.56 -1744.86 -1750.46 -1751.86 -1752.18 -1744.94 -1730.61 -1713.95 -1693.05 -1674.63 -1672.45 -1671.49 -1678.13 -1685.56 -1695.24 -1704.8 -1715.69 -1731.89 -1744.37 -1749.79 -1759.79 -1761.02 -1770.11 -1765.85 -1624.33 -1621.69 -1621.28 -1623.55 -1629.86 -1634.84 -1629.82 -1625.27 -1615.57 -1605.67 -1593.17 -1587.41 -1583.62 -1584.26 -1588.12 -1596.64 -1605.76 -1628.49 -1642.54 -1656.53 -1655.76 -1659.92 -1648.25 -1661.23 -1652.41 -1502.84 -1498.24 -1494.11 -1489.61 -1491.48 -1495.03 -1499.24 -1513.36 -1522.63 -1525.6 -1522.69 -1517.07 -1510.85 -1506.74 -1505.54 -1505.4 -1510.6 -1521.74 -1541.45 -1558.61 -1552.85 -1551.76 -1535.75 -1530.96 -1532.7 -1438.35 -1431.98 -1423.78 -1418.2 -1414.02 -1410.95 -1421.88 -1440.09 -1454.87 -1458.63 -1455.01 -1445.78 -1434.66 -1425.7 -1419.12 -1415.68 -1415.72 -1417.64 -1423.6 -1431.4 -1433.84 -1435.92 -1428.46 -1424.99 -1425.27 -1387.36 -1391.52 -1382.5 -1371.77 -1362.64 -1361.03 -1365.55 -1375.58 -1381.01 -1381.31 -1373.07 -1361.69 -1345.78 -1330.35 -1319.62 -1310.89 -1308.23 -1306.43 -1305.91 -1307.7 -1313.27 -1327.02 -1336.01 -1327.81 -1331.15 -1271.79 -1273.08 -1271.98 -1264.17 -1251.26 -1244.99 -1245.76 -1252.42 -1257 -1256.72 -1250.08 -1237.94 -1222.68 -1208.14 -1196.98 -1192.02 -1186.21 -1184.68 -1188.51 -1191.85 -1205.01 -1215.73 -1233.25 -1224.72 -1226.75 -1127.1 -1125.64 -1124.39 -1121.85 -1113.42 -1103.67 -1098.39 -1099.57 -1105.61 -1109.52 -1106.77 -1098.48 -1089 -1080.43 -1073.92 -1073.24 -1072.25 -1071.29 -1071.75 -1074.4 -1078.62 -1085.51 -1095.53 -1095.67 -1096.26 -992.294 -991.13 -986.281 -990.794 -983.274 -976.232 -971.001 -968.971 -970.743 -974.382 -967.38 -958.104 -950.768 -948.08 -946.549 -948.871 -950.382 -951.44 -951.025 -953.739 -950.888 -963.575 -953.716 -963.393 -962.334 -890.836 -890.007 -886.517 -889.188 -888.797 -887.558 -882.258 -875.452 -866.168 -854.814 -842.425 -829.034 -823.448 -825.3 -826.065 -829.316 -832.018 -831.086 -828.139 -829.794 -822.199 -832.926 -830.89 -834.839 -836.224 -798.119 -798.959 -798.146 -794.879 -795.855 -790.952 -790.489 -782.988 -775.087 -756.826 -738.278 -726.414 -724.974 -724.246 -723.204 -723.369 -721.642 -719.099 -710.316 -697.385 -679.975 -674.28 -688.78 -688.589 -696.624 -694.405 -693.345 -698.272 -689.258 -690.501 -687.553 -687.301 -681.852 -671.592 -659.784 -649.31 -644.201 -642.081 -639.871 -634.96 -632.393 -627.156 -622.901 -613.168 -598.754 -587.397 -580.568 -587.953 -589.947 -592.531 -575.596 -574.55 -578.335 -571.262 -575.126 -570.818 -571.44 -565.333 -563.994 -557.653 -557.057 -557.073 -557.351 -557.971 -555.384 -555.633 -552.015 -548.591 -537.679 -522.905 -508.967 -504.995 -501.762 -502.865 -506.834 -448.634 -446.606 -441.379 -444.536 -445.296 -443.761 -444.059 -445.756 -447.579 -450.807 -450.866 -455.388 -461.553 -467.52 -474.518 -479.626 -477.622 -471.502 -455.883 -440.965 -425.702 -419.971 -419.591 -421.465 -426.135 -327.686 -323.738 -318.303 -321.504 -324.04 -322.727 -325.782 -330.743 -336.641 -341.885 -344.784 -352.115 -359.02 -367.046 -375.031 -383.301 -386.722 -384.298 -377.603 -369.778 -365.622 -363.641 -369.767 -373.676 -379.99 -241.456 -237.463 -233.772 -236.247 -235.733 -232.785 -232.205 -235.193 -239.329 -242.543 -242.908 -243.094 -245.917 -250.612 -255.394 -256.106 -257.516 -253.698 -252.154 -259.734 -270.969 -277.671 -284.418 -288.332 -290.567 -170.45 -169.594 -168.777 -170.885 -170.431 -166.804 -162.034 -160.137 -158.841 -159.069 -159.23 -158.955 -159.443 -159.867 -163.016 -164.058 -164.345 -161.325 -163.141 -170.599 -175.042 -179.359 -182.47 -184.371 -184.848 -69.1085 -73.6312 -78.3502 -83.8631 -83.2866 -79.7069 -70.8607 -65.196 -58.0552 -52.5698 -47.5432 -44.4013 -40.9971 -39.2168 -44.3652 -48.4222 -52.8974 -55.6685 -63.8615 -70.3526 -77.103 -79.0083 -80.6254 -78.5936 -78.1597 -5.21762 -5.54303 -6.21406 -6.5862 -6.97536 -6.04707 -5.1582 -4.67529 -3.96973 -3.91805 -3.85068 -3.97955 -4.24419 -4.60187 -4.58482 -4.73677 -4.97607 -5.56779 -5.98771 -6.44586 -7.31777 -7.4187 -7.38624 -6.79915 -6.2811 -2.60843 -2.60082 -2.59544 -2.574 -2.56327 -2.53915 -2.52407 -2.51319 -2.50267 -2.50354 -2.50313 -2.51034 -2.51996 -2.53785 -2.55085 -2.5752 -2.5913 -2.61602 -2.6272 -2.64475 -2.66551 -2.6892 -2.70386 -2.72564 -2.73192 -2.17545 -2.17432 -2.17254 -2.17118 -2.16971 -2.16884 -2.16875 -2.16917 -2.17074 -2.17198 -2.17338 -2.17488 -2.17495 -2.17499 -2.17384 -2.17487 -2.17478 -2.17659 -2.17631 -2.17759 -2.17752 -2.17913 -2.17829 -2.1787 -2.17787 -2.04089 -2.04068 -2.04118 -2.04152 -2.04136 -2.04222 -2.04304 -2.04335 -2.04473 -2.0445 -2.04444 -2.04311 -2.04132 -2.03846 -2.03706 -2.03531 -2.03452 -2.03333 -2.03303 -2.03251 -2.03159 -2.03142 -2.03102 -2.03115 -2.0311 -1.8995 -1.89922 -1.89946 -1.89964 -1.89961 -1.89979 -1.89968 -1.89943 -1.89907 -1.89835 -1.8975 -1.89651 -1.89491 -1.89377 -1.8926 -1.89154 -1.8906 -1.88973 -1.88905 -1.88848 -1.88785 -1.88711 -1.88686 -1.88627 -1.88633 -1.77653 -1.77666 -1.77687 -1.77695 -1.77713 -1.77716 -1.77724 -1.7771 -1.77697 -1.77662 -1.77613 -1.7756 -1.77522 -1.77457 -1.77389 -1.77326 -1.77257 -1.77208 -1.7714 -1.77091 -1.77041 -1.77005 -1.76976 -1.76958 -1.76941 -1.63781 -1.6378 -1.6377 -1.63767 -1.63752 -1.63738 -1.63715 -1.63682 -1.63643 -1.6359 -1.63542 -1.63483 -1.63445 -1.6338 -1.63323 -1.63265 -1.63219 -1.63165 -1.63134 -1.63099 -1.63071 -1.63038 -1.63013 -1.62993 -1.62988 -1.51282 -1.51284 -1.51282 -1.51284 -1.5128 -1.51277 -1.51267 -1.51255 -1.51241 -1.51221 -1.51213 -1.5117 -1.51131 -1.51112 -1.5109 -1.5106 -1.51038 -1.51 -1.50972 -1.50943 -1.50929 -1.50912 -1.50903 -1.50887 -1.5088 -1.37554 -1.37557 -1.37551 -1.37547 -1.37539 -1.37526 -1.37511 -1.37491 -1.37471 -1.37446 -1.37428 -1.37409 -1.37381 -1.3733 -1.37291 -1.37262 -1.37229 -1.37216 -1.37199 -1.37189 -1.37176 -1.37161 -1.37142 -1.37128 -1.37126 -1.24919 -1.24912 -1.24913 -1.24911 -1.24907 -1.24905 -1.24895 -1.2489 -1.24877 -1.24873 -1.24852 -1.24843 -1.24825 -1.24816 -1.24797 -1.24776 -1.24766 -1.24758 -1.24758 -1.24756 -1.24764 -1.2476 -1.24764 -1.2475 -1.24748 -1.11318 -1.1132 -1.1132 -1.11315 -1.1131 -1.113 -1.11293 -1.1128 -1.11269 -1.11263 -1.11246 -1.11222 -1.11212 -1.1119 -1.1119 -1.11173 -1.11166 -1.11156 -1.11144 -1.11144 -1.11139 -1.1114 -1.11126 -1.11117 -1.11112 -0.986047 -0.98605 -0.986021 -0.985994 -0.985958 -0.985953 -0.985902 -0.985882 -0.985862 -0.985753 -0.985696 -0.985757 -0.985718 -0.985741 -0.985653 -0.985684 -0.985621 -0.985668 -0.985679 -0.985742 -0.985764 -0.985816 -0.985801 -0.985722 -0.985683 -0.850852 -0.850828 -0.850842 -0.850796 -0.850764 -0.850715 -0.850595 -0.850523 -0.850386 -0.850218 -0.850163 -0.850059 -0.850021 -0.849933 -0.849904 -0.849827 -0.849897 -0.849844 -0.849967 -0.849956 -0.850129 -0.850129 -0.850119 -0.850004 -0.849993 -0.72322 -0.723219 -0.723168 -0.723188 -0.723205 -0.72319 -0.723291 -0.723312 -0.723289 -0.723364 -0.723374 -0.723393 -0.723413 -0.723427 -0.723469 -0.723464 -0.723433 -0.723435 -0.72342 -0.723495 -0.723593 -0.723675 -0.72367 -0.723614 -0.723624 -0.588544 -0.588553 -0.588524 -0.58856 -0.588456 -0.588381 -0.588228 -0.588079 -0.588023 -0.587939 -0.587933 -0.587901 -0.587847 -0.58787 -0.587778 -0.587892 -0.58775 -0.58788 -0.587929 -0.587983 -0.588115 -0.588224 -0.588247 -0.588184 -0.588176 -0.460733 -0.460707 -0.460783 -0.460706 -0.460777 -0.460789 -0.460852 -0.4609 -0.460948 -0.461034 -0.461033 -0.460993 -0.46101 -0.460953 -0.46097 -0.460876 -0.46099 -0.460862 -0.46089 -0.460867 -0.461056 -0.461141 -0.461208 -0.4611 -0.461116 -0.3263 -0.32631 -0.326259 -0.326284 -0.326204 -0.326162 -0.326065 -0.32599 -0.325944 -0.325867 -0.3258 -0.325803 -0.325782 -0.325739 -0.325783 -0.325732 -0.325814 -0.325752 -0.325748 -0.325634 -0.325831 -0.325858 -0.325945 -0.325862 -0.325925 -0.198387 -0.198387 -0.19838 -0.198379 -0.19838 -0.198385 -0.198408 -0.198401 -0.198452 -0.198453 -0.198529 -0.198519 -0.198553 -0.198528 -0.198507 -0.198412 -0.198322 -0.198197 -0.198173 -0.198015 -0.198055 -0.198112 -0.198217 -0.198335 -0.198368 -0.0639617 -0.0639706 -0.0639747 -0.0639733 -0.0639593 -0.0639489 -0.0639239 -0.0639184 -0.0638669 -0.0638353 -0.0637998 -0.0637847 -0.0637588 -0.0637369 -0.0637026 -0.063645 -0.0636016 -0.0635269 -0.06342 -0.0632935 -0.0631483 -0.0632062 -0.063256 -0.0633831 -0.0634023 -) -; - -boundaryField -{ - inlet - { - type fixedFluxPressure; - value uniform 0; - } - - outlet - { - type fixedValue; - value uniform 0; - } - - walls - { - type fixedFluxPressure; - value uniform 0; - } - - defaultFaces - { - type empty; - } -} - -// ************************************************************************* // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/constant/MRFProperties b/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/constant/MRFProperties deleted file mode 100644 index fd749d03963870c76ab4a9d85ad86bd95c33a71f..0000000000000000000000000000000000000000 --- a/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/constant/MRFProperties +++ /dev/null @@ -1,20 +0,0 @@ -/*--------------------------------*- 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 MRFProperties; -} -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -// none - -// ************************************************************************* // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/constant/RASProperties b/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/constant/RASProperties deleted file mode 100644 index 75eb08b9231e402c41bc15f2be52c6b2e13e095d..0000000000000000000000000000000000000000 --- a/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/constant/RASProperties +++ /dev/null @@ -1,25 +0,0 @@ -/*--------------------------------*- 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 RASProperties; -} -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -RASModel kEpsilon; - -turbulence off; - -printCoeffs off; - - -// ************************************************************************* // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/constant/g b/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/constant/g deleted file mode 100644 index e0ac2653b5b370ad62f6770588121d30cac51627..0000000000000000000000000000000000000000 --- a/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/constant/g +++ /dev/null @@ -1,22 +0,0 @@ -/*--------------------------------*- 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/twoPhaseEulerFoam/bubbleColumn/constant/interfacialProperties b/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/constant/interfacialProperties deleted file mode 100644 index fb97f11e68211fc98a791e977144defa63b13bb2..0000000000000000000000000000000000000000 --- a/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/constant/interfacialProperties +++ /dev/null @@ -1,26 +0,0 @@ -/*--------------------------------*- 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 interfacialProperties; -} -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -dragModel1 SchillerNaumann; - -dragModel2 SchillerNaumann; - -dragPhase blended; - -residualSlip 0; - -// ************************************************************************* // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/constant/kineticTheoryProperties b/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/constant/kineticTheoryProperties deleted file mode 100644 index 2df50542e555669990b2caa032cf9aee7f92b8ad..0000000000000000000000000000000000000000 --- a/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/constant/kineticTheoryProperties +++ /dev/null @@ -1,52 +0,0 @@ -/*--------------------------------*- 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 kineticTheoryProperties; -} -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -kineticTheory off; - -equilibrium on; - -e e [ 0 0 0 0 0 0 0 ] 0.9; - -alphaMax alphaMax [ 0 0 0 0 0 0 0 ] 0.6; - -alphaMinFriction alphaMinFriction [ 0 0 0 0 0 0 0 ] 0.5; - -Fr Fr [ 1 -1 -2 0 0 0 0 ] 0.05; - -eta eta [ 0 0 0 0 0 0 0 ] 2; - -p p [ 0 0 0 0 0 0 0 ] 5; - -phi phi [ 0 0 0 0 0 0 0 ] 25; - -viscosityModel Syamlal; - -conductivityModel HrenyaSinclair; - -granularPressureModel Lun; - -frictionalStressModel JohnsonJackson; - -radialModel SinclairJackson; - -HrenyaSinclairCoeffs -{ - L L [ 0 1 0 0 0 0 0 ] 0.0005; -} - - -// ************************************************************************* // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/constant/polyMesh/blockMeshDict b/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/constant/polyMesh/blockMeshDict deleted file mode 100644 index 8ab4654b46e01071dad8b57d433440c165a17a37..0000000000000000000000000000000000000000 --- a/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/constant/polyMesh/blockMeshDict +++ /dev/null @@ -1,73 +0,0 @@ -/*--------------------------------*- 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 -( -); - -boundary -( - inlet - { - type patch; - faces - ( - (1 5 4 0) - ); - } - outlet - { - type patch; - faces - ( - (3 7 6 2) - ); - } - walls - { - type wall; - faces - ( - (0 4 7 3) - (2 6 5 1) - ); - } -); - -mergePatchPairs -( -); - -// ************************************************************************* // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/constant/ppProperties b/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/constant/ppProperties deleted file mode 100644 index eddbfd7ad7910a8a85af9c310b1424eb18d3eb1e..0000000000000000000000000000000000000000 --- a/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/constant/ppProperties +++ /dev/null @@ -1,29 +0,0 @@ -/*--------------------------------*- 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 ppProperties; -} -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -preAlphaExp 300; - -expMax 10; - -alphaMax 0.6; - -g0 g0 [ 1 -1 -2 0 0 0 0 ] 0; - -packingLimiter off; - - -// ************************************************************************* // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/constant/transportProperties b/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/constant/transportProperties deleted file mode 100644 index e013730cb5cce44d7638b78954289a6b2a79d261..0000000000000000000000000000000000000000 --- a/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/constant/transportProperties +++ /dev/null @@ -1,37 +0,0 @@ -/*--------------------------------*- 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 transportProperties; -} -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -phase1 -{ - nu 1.6e-05; - rho 1; - d 0.003; -} - -phase2 -{ - nu 1e-06; - rho 1000; - d 0.0001; -} - -Cvm 0.5; -Cl 0; -Ct 1; - - -// ************************************************************************* // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/system/controlDict b/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/system/controlDict deleted file mode 100644 index d7e0530f04490f0fda41b324ffda6126aa07700e..0000000000000000000000000000000000000000 --- a/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/system/controlDict +++ /dev/null @@ -1,95 +0,0 @@ -/*--------------------------------*- 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 twoPhaseEulerFoam; - -startFrom startTime; - -startTime 0; - -stopAt endTime; - -endTime 20; - -deltaT 0.002; - -writeControl runTime; - -writeInterval 0.5; - -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 - ( - U1 - { - mean on; - prime2Mean off; - base time; - } - - U2 - { - mean on; - prime2Mean off; - base time; - } - - alpha1 - { - mean on; - prime2Mean off; - base time; - } - - p - { - mean on; - prime2Mean off; - base time; - } - ); - } -} - - -// ************************************************************************* // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/system/fvSchemes b/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/system/fvSchemes deleted file mode 100644 index 8224b34cb8dd344ddbcef331a531c23520b56725..0000000000000000000000000000000000000000 --- a/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/system/fvSchemes +++ /dev/null @@ -1,70 +0,0 @@ -/*--------------------------------*- 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(phi1,U1) Gauss limitedLinearV 1; - div(phi2,U2) Gauss limitedLinearV 1; - div(phi2,k) Gauss limitedLinear 1; - div(phi2,epsilon) Gauss limitedLinear 1; - div(phi,alpha1) Gauss limitedLinear01 1; - div(phir,alpha1) Gauss limitedLinear01 1; - div(phi,Theta) Gauss limitedLinear 1; - div(Rc1) Gauss linear; - div(Rc2) Gauss linear; -} - -laplacianSchemes -{ - default none; - laplacian(nuEff1,U1) Gauss linear corrected; - laplacian(nuEff2,U2) Gauss linear corrected; - laplacian(Dp,p) Gauss linear corrected; - laplacian(alpha1PpMag,alpha1) Gauss linear corrected; - laplacian((alpha1k*nuEff2),k) Gauss linear corrected; - laplacian((alpha1Eps*nuEff2),epsilon) Gauss linear corrected; -} - -interpolationSchemes -{ - default linear; -} - -snGradSchemes -{ - default corrected; -} - -fluxRequired -{ - default no; - p ; -} - - -// ************************************************************************* // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/system/fvSolution b/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/system/fvSolution deleted file mode 100644 index 381ca29a11e5a1a25302a4548358c17c9d9085ee..0000000000000000000000000000000000000000 --- a/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/system/fvSolution +++ /dev/null @@ -1,86 +0,0 @@ -/*--------------------------------*- 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 -{ - alpha1 - { - nAlphaCorr 1; - nAlphaSubCycles 2; - } - - p - { - solver GAMG; - tolerance 1e-08; - relTol 0.1; - smoother DIC; - nPreSweeps 0; - nPostSweeps 2; - nFinestSweeps 2; - cacheAgglomeration true; - nCellsInCoarsestLevel 10; - agglomerator faceAreaPair; - mergeLevels 1; - } - - pFinal - { - $p; - tolerance 1e-08; - relTol 0; - } - - "(k|epsilon)" - { - solver PBiCG; - preconditioner DILU; - tolerance 1e-05; - relTol 0.1; - } - - "(k|epsilon)Final" - { - solver PBiCG; - preconditioner DILU; - tolerance 1e-05; - relTol 0; - } -} - -PIMPLE -{ - nCorrectors 2; - nNonOrthogonalCorrectors 0; - correctAlpha yes; - - pRefCell 0; - pRefValue 0; -} - -relaxationFactors -{ - "U.*" 1; - "T.*" 1; - "alpha1.*" 1; - "Theta.*" 1; - "k.*" 1; - "epsilon.*" 1; -} - - -// ************************************************************************* // diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/bubbleColumn/0/T.air b/tutorials/multiphase/twoPhaseEulerFoam/laminar/bubbleColumn/0/T.air similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/bubbleColumn/0/T.air rename to tutorials/multiphase/twoPhaseEulerFoam/laminar/bubbleColumn/0/T.air diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/bubbleColumn/0/T.water b/tutorials/multiphase/twoPhaseEulerFoam/laminar/bubbleColumn/0/T.water similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/bubbleColumn/0/T.water rename to tutorials/multiphase/twoPhaseEulerFoam/laminar/bubbleColumn/0/T.water diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/bubbleColumn/0/Theta b/tutorials/multiphase/twoPhaseEulerFoam/laminar/bubbleColumn/0/Theta similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/bubbleColumn/0/Theta rename to tutorials/multiphase/twoPhaseEulerFoam/laminar/bubbleColumn/0/Theta diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/bubbleColumn/0/U.air b/tutorials/multiphase/twoPhaseEulerFoam/laminar/bubbleColumn/0/U.air similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/bubbleColumn/0/U.air rename to tutorials/multiphase/twoPhaseEulerFoam/laminar/bubbleColumn/0/U.air diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/bubbleColumn/0/U.water b/tutorials/multiphase/twoPhaseEulerFoam/laminar/bubbleColumn/0/U.water similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/bubbleColumn/0/U.water rename to tutorials/multiphase/twoPhaseEulerFoam/laminar/bubbleColumn/0/U.water diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/bubbleColumn/0/alpha.air b/tutorials/multiphase/twoPhaseEulerFoam/laminar/bubbleColumn/0/alpha.air similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/bubbleColumn/0/alpha.air rename to tutorials/multiphase/twoPhaseEulerFoam/laminar/bubbleColumn/0/alpha.air diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/bubbleColumn/0/alpha.air.org b/tutorials/multiphase/twoPhaseEulerFoam/laminar/bubbleColumn/0/alpha.air.org similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/bubbleColumn/0/alpha.air.org rename to tutorials/multiphase/twoPhaseEulerFoam/laminar/bubbleColumn/0/alpha.air.org diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/bubbleColumn/0/p b/tutorials/multiphase/twoPhaseEulerFoam/laminar/bubbleColumn/0/p similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/bubbleColumn/0/p rename to tutorials/multiphase/twoPhaseEulerFoam/laminar/bubbleColumn/0/p diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/bubbleColumn/constant/g b/tutorials/multiphase/twoPhaseEulerFoam/laminar/bubbleColumn/constant/g similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/bubbleColumn/constant/g rename to tutorials/multiphase/twoPhaseEulerFoam/laminar/bubbleColumn/constant/g diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/bubbleColumn/constant/phaseProperties b/tutorials/multiphase/twoPhaseEulerFoam/laminar/bubbleColumn/constant/phaseProperties similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/bubbleColumn/constant/phaseProperties rename to tutorials/multiphase/twoPhaseEulerFoam/laminar/bubbleColumn/constant/phaseProperties diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/bubbleColumn/constant/polyMesh/blockMeshDict b/tutorials/multiphase/twoPhaseEulerFoam/laminar/bubbleColumn/constant/polyMesh/blockMeshDict similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/bubbleColumn/constant/polyMesh/blockMeshDict rename to tutorials/multiphase/twoPhaseEulerFoam/laminar/bubbleColumn/constant/polyMesh/blockMeshDict diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/bubbleColumn/constant/polyMesh/boundary b/tutorials/multiphase/twoPhaseEulerFoam/laminar/bubbleColumn/constant/polyMesh/boundary similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/bubbleColumn/constant/polyMesh/boundary rename to tutorials/multiphase/twoPhaseEulerFoam/laminar/bubbleColumn/constant/polyMesh/boundary diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/bubbleColumn/constant/thermophysicalProperties.air b/tutorials/multiphase/twoPhaseEulerFoam/laminar/bubbleColumn/constant/thermophysicalProperties.air similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/bubbleColumn/constant/thermophysicalProperties.air rename to tutorials/multiphase/twoPhaseEulerFoam/laminar/bubbleColumn/constant/thermophysicalProperties.air diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/bubbleColumn/constant/thermophysicalProperties.water b/tutorials/multiphase/twoPhaseEulerFoam/laminar/bubbleColumn/constant/thermophysicalProperties.water similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/bubbleColumn/constant/thermophysicalProperties.water rename to tutorials/multiphase/twoPhaseEulerFoam/laminar/bubbleColumn/constant/thermophysicalProperties.water diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/bubbleColumn/constant/turbulenceProperties.air b/tutorials/multiphase/twoPhaseEulerFoam/laminar/bubbleColumn/constant/turbulenceProperties.air similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/bubbleColumn/constant/turbulenceProperties.air rename to tutorials/multiphase/twoPhaseEulerFoam/laminar/bubbleColumn/constant/turbulenceProperties.air diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/bubbleColumn/constant/turbulenceProperties.water b/tutorials/multiphase/twoPhaseEulerFoam/laminar/bubbleColumn/constant/turbulenceProperties.water similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/bubbleColumn/constant/turbulenceProperties.water rename to tutorials/multiphase/twoPhaseEulerFoam/laminar/bubbleColumn/constant/turbulenceProperties.water diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/bubbleColumn/system/controlDict b/tutorials/multiphase/twoPhaseEulerFoam/laminar/bubbleColumn/system/controlDict similarity index 97% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/bubbleColumn/system/controlDict rename to tutorials/multiphase/twoPhaseEulerFoam/laminar/bubbleColumn/system/controlDict index 18bd2e06daecdad9cfcfe4aa17a643d49df8d145..0a0bfc89cf3126321d001724e2eeae4bcb69e8aa 100644 --- a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/bubbleColumn/system/controlDict +++ b/tutorials/multiphase/twoPhaseEulerFoam/laminar/bubbleColumn/system/controlDict @@ -15,7 +15,7 @@ FoamFile } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -application compressibleTwoPhaseEulerFoam; +application twoPhaseEulerFoam; startFrom startTime; diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/bubbleColumn/system/fvSchemes b/tutorials/multiphase/twoPhaseEulerFoam/laminar/bubbleColumn/system/fvSchemes similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/bubbleColumn/system/fvSchemes rename to tutorials/multiphase/twoPhaseEulerFoam/laminar/bubbleColumn/system/fvSchemes diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/bubbleColumn/system/fvSolution b/tutorials/multiphase/twoPhaseEulerFoam/laminar/bubbleColumn/system/fvSolution similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/bubbleColumn/system/fvSolution rename to tutorials/multiphase/twoPhaseEulerFoam/laminar/bubbleColumn/system/fvSolution diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/bubbleColumn/system/setFieldsDict b/tutorials/multiphase/twoPhaseEulerFoam/laminar/bubbleColumn/system/setFieldsDict similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/bubbleColumn/system/setFieldsDict rename to tutorials/multiphase/twoPhaseEulerFoam/laminar/bubbleColumn/system/setFieldsDict diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/fluidisedBed/0/T.air b/tutorials/multiphase/twoPhaseEulerFoam/laminar/fluidisedBed/0/T.air similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/fluidisedBed/0/T.air rename to tutorials/multiphase/twoPhaseEulerFoam/laminar/fluidisedBed/0/T.air diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/fluidisedBed/0/T.particles b/tutorials/multiphase/twoPhaseEulerFoam/laminar/fluidisedBed/0/T.particles similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/fluidisedBed/0/T.particles rename to tutorials/multiphase/twoPhaseEulerFoam/laminar/fluidisedBed/0/T.particles diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/fluidisedBed/0/Theta.particles b/tutorials/multiphase/twoPhaseEulerFoam/laminar/fluidisedBed/0/Theta.particles similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/fluidisedBed/0/Theta.particles rename to tutorials/multiphase/twoPhaseEulerFoam/laminar/fluidisedBed/0/Theta.particles diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/fluidisedBed/0/U.air b/tutorials/multiphase/twoPhaseEulerFoam/laminar/fluidisedBed/0/U.air similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/fluidisedBed/0/U.air rename to tutorials/multiphase/twoPhaseEulerFoam/laminar/fluidisedBed/0/U.air diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/fluidisedBed/0/U.particles b/tutorials/multiphase/twoPhaseEulerFoam/laminar/fluidisedBed/0/U.particles similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/fluidisedBed/0/U.particles rename to tutorials/multiphase/twoPhaseEulerFoam/laminar/fluidisedBed/0/U.particles diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/fluidisedBed/0/alpha.air b/tutorials/multiphase/twoPhaseEulerFoam/laminar/fluidisedBed/0/alpha.air similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/fluidisedBed/0/alpha.air rename to tutorials/multiphase/twoPhaseEulerFoam/laminar/fluidisedBed/0/alpha.air diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/fluidisedBed/0/alpha.air.org b/tutorials/multiphase/twoPhaseEulerFoam/laminar/fluidisedBed/0/alpha.air.org similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/fluidisedBed/0/alpha.air.org rename to tutorials/multiphase/twoPhaseEulerFoam/laminar/fluidisedBed/0/alpha.air.org diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/fluidisedBed/0/alpha.particles b/tutorials/multiphase/twoPhaseEulerFoam/laminar/fluidisedBed/0/alpha.particles similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/fluidisedBed/0/alpha.particles rename to tutorials/multiphase/twoPhaseEulerFoam/laminar/fluidisedBed/0/alpha.particles diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/fluidisedBed/0/alpha.particles.org b/tutorials/multiphase/twoPhaseEulerFoam/laminar/fluidisedBed/0/alpha.particles.org similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/fluidisedBed/0/alpha.particles.org rename to tutorials/multiphase/twoPhaseEulerFoam/laminar/fluidisedBed/0/alpha.particles.org diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/fluidisedBed/0/epsilon.air b/tutorials/multiphase/twoPhaseEulerFoam/laminar/fluidisedBed/0/epsilon.air similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/fluidisedBed/0/epsilon.air rename to tutorials/multiphase/twoPhaseEulerFoam/laminar/fluidisedBed/0/epsilon.air diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/fluidisedBed/0/k.air b/tutorials/multiphase/twoPhaseEulerFoam/laminar/fluidisedBed/0/k.air similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/fluidisedBed/0/k.air rename to tutorials/multiphase/twoPhaseEulerFoam/laminar/fluidisedBed/0/k.air diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/fluidisedBed/0/nut.air b/tutorials/multiphase/twoPhaseEulerFoam/laminar/fluidisedBed/0/nut.air similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/fluidisedBed/0/nut.air rename to tutorials/multiphase/twoPhaseEulerFoam/laminar/fluidisedBed/0/nut.air diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/fluidisedBed/0/nut.particles b/tutorials/multiphase/twoPhaseEulerFoam/laminar/fluidisedBed/0/nut.particles similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/fluidisedBed/0/nut.particles rename to tutorials/multiphase/twoPhaseEulerFoam/laminar/fluidisedBed/0/nut.particles diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/fluidisedBed/0/p b/tutorials/multiphase/twoPhaseEulerFoam/laminar/fluidisedBed/0/p similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/fluidisedBed/0/p rename to tutorials/multiphase/twoPhaseEulerFoam/laminar/fluidisedBed/0/p diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/fluidisedBed/constant/g b/tutorials/multiphase/twoPhaseEulerFoam/laminar/fluidisedBed/constant/g similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/fluidisedBed/constant/g rename to tutorials/multiphase/twoPhaseEulerFoam/laminar/fluidisedBed/constant/g diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/fluidisedBed/constant/phaseProperties b/tutorials/multiphase/twoPhaseEulerFoam/laminar/fluidisedBed/constant/phaseProperties similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/fluidisedBed/constant/phaseProperties rename to tutorials/multiphase/twoPhaseEulerFoam/laminar/fluidisedBed/constant/phaseProperties diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/fluidisedBed/constant/polyMesh/blockMeshDict b/tutorials/multiphase/twoPhaseEulerFoam/laminar/fluidisedBed/constant/polyMesh/blockMeshDict similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/fluidisedBed/constant/polyMesh/blockMeshDict rename to tutorials/multiphase/twoPhaseEulerFoam/laminar/fluidisedBed/constant/polyMesh/blockMeshDict diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/fluidisedBed/constant/polyMesh/boundary b/tutorials/multiphase/twoPhaseEulerFoam/laminar/fluidisedBed/constant/polyMesh/boundary similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/fluidisedBed/constant/polyMesh/boundary rename to tutorials/multiphase/twoPhaseEulerFoam/laminar/fluidisedBed/constant/polyMesh/boundary diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/fluidisedBed/constant/thermophysicalProperties.air b/tutorials/multiphase/twoPhaseEulerFoam/laminar/fluidisedBed/constant/thermophysicalProperties.air similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/fluidisedBed/constant/thermophysicalProperties.air rename to tutorials/multiphase/twoPhaseEulerFoam/laminar/fluidisedBed/constant/thermophysicalProperties.air diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/fluidisedBed/constant/thermophysicalProperties.particles b/tutorials/multiphase/twoPhaseEulerFoam/laminar/fluidisedBed/constant/thermophysicalProperties.particles similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/fluidisedBed/constant/thermophysicalProperties.particles rename to tutorials/multiphase/twoPhaseEulerFoam/laminar/fluidisedBed/constant/thermophysicalProperties.particles diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/fluidisedBed/constant/turbulenceProperties.air b/tutorials/multiphase/twoPhaseEulerFoam/laminar/fluidisedBed/constant/turbulenceProperties.air similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/fluidisedBed/constant/turbulenceProperties.air rename to tutorials/multiphase/twoPhaseEulerFoam/laminar/fluidisedBed/constant/turbulenceProperties.air diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/fluidisedBed/constant/turbulenceProperties.particles b/tutorials/multiphase/twoPhaseEulerFoam/laminar/fluidisedBed/constant/turbulenceProperties.particles similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/fluidisedBed/constant/turbulenceProperties.particles rename to tutorials/multiphase/twoPhaseEulerFoam/laminar/fluidisedBed/constant/turbulenceProperties.particles diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/system/controlDict b/tutorials/multiphase/twoPhaseEulerFoam/laminar/fluidisedBed/system/controlDict similarity index 97% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/system/controlDict rename to tutorials/multiphase/twoPhaseEulerFoam/laminar/fluidisedBed/system/controlDict index 103ff2a9794a349e2a2939e9afb239fcbe9ceae2..db2ff7d973df6697a4b98e1e1486591c0308134f 100644 --- a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/RAS/fluidisedBed/system/controlDict +++ b/tutorials/multiphase/twoPhaseEulerFoam/laminar/fluidisedBed/system/controlDict @@ -15,7 +15,7 @@ FoamFile } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -application compressibleTwoPhaseEulerFoam; +application twoPhaseEulerFoam; startFrom startTime; diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/fluidisedBed/system/fvSchemes b/tutorials/multiphase/twoPhaseEulerFoam/laminar/fluidisedBed/system/fvSchemes similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/fluidisedBed/system/fvSchemes rename to tutorials/multiphase/twoPhaseEulerFoam/laminar/fluidisedBed/system/fvSchemes diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/fluidisedBed/system/fvSolution b/tutorials/multiphase/twoPhaseEulerFoam/laminar/fluidisedBed/system/fvSolution similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/fluidisedBed/system/fvSolution rename to tutorials/multiphase/twoPhaseEulerFoam/laminar/fluidisedBed/system/fvSolution diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/fluidisedBed/system/setFieldsDict b/tutorials/multiphase/twoPhaseEulerFoam/laminar/fluidisedBed/system/setFieldsDict similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/fluidisedBed/system/setFieldsDict rename to tutorials/multiphase/twoPhaseEulerFoam/laminar/fluidisedBed/system/setFieldsDict diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/mixerVessel2D/0/T.air b/tutorials/multiphase/twoPhaseEulerFoam/laminar/mixerVessel2D/0/T.air similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/mixerVessel2D/0/T.air rename to tutorials/multiphase/twoPhaseEulerFoam/laminar/mixerVessel2D/0/T.air diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/mixerVessel2D/0/T.water b/tutorials/multiphase/twoPhaseEulerFoam/laminar/mixerVessel2D/0/T.water similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/mixerVessel2D/0/T.water rename to tutorials/multiphase/twoPhaseEulerFoam/laminar/mixerVessel2D/0/T.water diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/mixerVessel2D/0/Theta b/tutorials/multiphase/twoPhaseEulerFoam/laminar/mixerVessel2D/0/Theta similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/mixerVessel2D/0/Theta rename to tutorials/multiphase/twoPhaseEulerFoam/laminar/mixerVessel2D/0/Theta diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/mixerVessel2D/0/U.air b/tutorials/multiphase/twoPhaseEulerFoam/laminar/mixerVessel2D/0/U.air similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/mixerVessel2D/0/U.air rename to tutorials/multiphase/twoPhaseEulerFoam/laminar/mixerVessel2D/0/U.air diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/mixerVessel2D/0/U.water b/tutorials/multiphase/twoPhaseEulerFoam/laminar/mixerVessel2D/0/U.water similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/mixerVessel2D/0/U.water rename to tutorials/multiphase/twoPhaseEulerFoam/laminar/mixerVessel2D/0/U.water diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/mixerVessel2D/0/alpha.air b/tutorials/multiphase/twoPhaseEulerFoam/laminar/mixerVessel2D/0/alpha.air similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/mixerVessel2D/0/alpha.air rename to tutorials/multiphase/twoPhaseEulerFoam/laminar/mixerVessel2D/0/alpha.air diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/mixerVessel2D/0/p b/tutorials/multiphase/twoPhaseEulerFoam/laminar/mixerVessel2D/0/p similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/mixerVessel2D/0/p rename to tutorials/multiphase/twoPhaseEulerFoam/laminar/mixerVessel2D/0/p diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/mixerVessel2D/Allrun b/tutorials/multiphase/twoPhaseEulerFoam/laminar/mixerVessel2D/Allrun similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/mixerVessel2D/Allrun rename to tutorials/multiphase/twoPhaseEulerFoam/laminar/mixerVessel2D/Allrun diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/mixerVessel2D/constant/MRFProperties b/tutorials/multiphase/twoPhaseEulerFoam/laminar/mixerVessel2D/constant/MRFProperties similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/mixerVessel2D/constant/MRFProperties rename to tutorials/multiphase/twoPhaseEulerFoam/laminar/mixerVessel2D/constant/MRFProperties diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/mixerVessel2D/constant/g b/tutorials/multiphase/twoPhaseEulerFoam/laminar/mixerVessel2D/constant/g similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/mixerVessel2D/constant/g rename to tutorials/multiphase/twoPhaseEulerFoam/laminar/mixerVessel2D/constant/g diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/mixerVessel2D/constant/phaseProperties b/tutorials/multiphase/twoPhaseEulerFoam/laminar/mixerVessel2D/constant/phaseProperties similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/mixerVessel2D/constant/phaseProperties rename to tutorials/multiphase/twoPhaseEulerFoam/laminar/mixerVessel2D/constant/phaseProperties diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/mixerVessel2D/constant/polyMesh/blockMeshDict.m4 b/tutorials/multiphase/twoPhaseEulerFoam/laminar/mixerVessel2D/constant/polyMesh/blockMeshDict.m4 similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/mixerVessel2D/constant/polyMesh/blockMeshDict.m4 rename to tutorials/multiphase/twoPhaseEulerFoam/laminar/mixerVessel2D/constant/polyMesh/blockMeshDict.m4 diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/mixerVessel2D/constant/polyMesh/boundary b/tutorials/multiphase/twoPhaseEulerFoam/laminar/mixerVessel2D/constant/polyMesh/boundary similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/mixerVessel2D/constant/polyMesh/boundary rename to tutorials/multiphase/twoPhaseEulerFoam/laminar/mixerVessel2D/constant/polyMesh/boundary diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/mixerVessel2D/constant/thermophysicalProperties.air b/tutorials/multiphase/twoPhaseEulerFoam/laminar/mixerVessel2D/constant/thermophysicalProperties.air similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/mixerVessel2D/constant/thermophysicalProperties.air rename to tutorials/multiphase/twoPhaseEulerFoam/laminar/mixerVessel2D/constant/thermophysicalProperties.air diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/mixerVessel2D/constant/thermophysicalProperties.water b/tutorials/multiphase/twoPhaseEulerFoam/laminar/mixerVessel2D/constant/thermophysicalProperties.water similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/mixerVessel2D/constant/thermophysicalProperties.water rename to tutorials/multiphase/twoPhaseEulerFoam/laminar/mixerVessel2D/constant/thermophysicalProperties.water diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/mixerVessel2D/constant/turbulenceProperties.air b/tutorials/multiphase/twoPhaseEulerFoam/laminar/mixerVessel2D/constant/turbulenceProperties.air similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/mixerVessel2D/constant/turbulenceProperties.air rename to tutorials/multiphase/twoPhaseEulerFoam/laminar/mixerVessel2D/constant/turbulenceProperties.air diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/mixerVessel2D/constant/turbulenceProperties.water b/tutorials/multiphase/twoPhaseEulerFoam/laminar/mixerVessel2D/constant/turbulenceProperties.water similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/mixerVessel2D/constant/turbulenceProperties.water rename to tutorials/multiphase/twoPhaseEulerFoam/laminar/mixerVessel2D/constant/turbulenceProperties.water diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/mixerVessel2D/makeMesh b/tutorials/multiphase/twoPhaseEulerFoam/laminar/mixerVessel2D/makeMesh similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/mixerVessel2D/makeMesh rename to tutorials/multiphase/twoPhaseEulerFoam/laminar/mixerVessel2D/makeMesh diff --git a/tutorials/multiphase/twoPhaseEulerFoam/mixerVessel2D/system/controlDict b/tutorials/multiphase/twoPhaseEulerFoam/laminar/mixerVessel2D/system/controlDict similarity index 98% rename from tutorials/multiphase/twoPhaseEulerFoam/mixerVessel2D/system/controlDict rename to tutorials/multiphase/twoPhaseEulerFoam/laminar/mixerVessel2D/system/controlDict index 7b2bf5a816c8966dabb1ec9ec14fefd77ddb630e..dd1a00f1718857eb0d3862667b4615f4a0606dcf 100644 --- a/tutorials/multiphase/twoPhaseEulerFoam/mixerVessel2D/system/controlDict +++ b/tutorials/multiphase/twoPhaseEulerFoam/laminar/mixerVessel2D/system/controlDict @@ -47,7 +47,7 @@ runTimeModifiable yes; adjustTimeStep yes; -maxCo 0.5; +maxCo 0.2; maxDeltaT 1; diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/mixerVessel2D/system/fvSchemes b/tutorials/multiphase/twoPhaseEulerFoam/laminar/mixerVessel2D/system/fvSchemes similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/mixerVessel2D/system/fvSchemes rename to tutorials/multiphase/twoPhaseEulerFoam/laminar/mixerVessel2D/system/fvSchemes diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/mixerVessel2D/system/fvSolution b/tutorials/multiphase/twoPhaseEulerFoam/laminar/mixerVessel2D/system/fvSolution similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/mixerVessel2D/system/fvSolution rename to tutorials/multiphase/twoPhaseEulerFoam/laminar/mixerVessel2D/system/fvSolution diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/mixerVessel2D/system/topoSetDict b/tutorials/multiphase/twoPhaseEulerFoam/laminar/mixerVessel2D/system/topoSetDict similarity index 100% rename from tutorials/multiphase/compressibleTwoPhaseEulerFoam/laminar/mixerVessel2D/system/topoSetDict rename to tutorials/multiphase/twoPhaseEulerFoam/laminar/mixerVessel2D/system/topoSetDict diff --git a/tutorials/multiphase/twoPhaseEulerFoam/mixerVessel2D/0/Theta b/tutorials/multiphase/twoPhaseEulerFoam/mixerVessel2D/0/Theta deleted file mode 100644 index b18d202df894c0276dd7f546fd3820cd154623e4..0000000000000000000000000000000000000000 --- a/tutorials/multiphase/twoPhaseEulerFoam/mixerVessel2D/0/Theta +++ /dev/null @@ -1,44 +0,0 @@ -/*--------------------------------*- 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; - -boundaryField -{ - rotor - { - type zeroGradient; - } - - stator - { - type zeroGradient; - } - - front - { - type empty; - } - - back - { - type empty; - } -} - -// ************************************************************************* // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/mixerVessel2D/0/U1 b/tutorials/multiphase/twoPhaseEulerFoam/mixerVessel2D/0/U1 deleted file mode 100644 index 7a88b384782d81444c1dbc8643f955a4720536da..0000000000000000000000000000000000000000 --- a/tutorials/multiphase/twoPhaseEulerFoam/mixerVessel2D/0/U1 +++ /dev/null @@ -1,46 +0,0 @@ -/*--------------------------------*- 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 volVectorField; - object U1; -} -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -dimensions [0 1 -1 0 0 0 0]; - -internalField uniform (0 0 0); - -boundaryField -{ - rotor - { - type fixedValue; - value uniform (0 0 0); - } - - stator - { - type fixedValue; - value uniform (0 0 0); - } - - front - { - type empty; - } - - back - { - type empty; - } -} - -// ************************************************************************* // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/mixerVessel2D/0/U2 b/tutorials/multiphase/twoPhaseEulerFoam/mixerVessel2D/0/U2 deleted file mode 100644 index b93b8d870de47ad7c0f257b0301895c8c8ed05d9..0000000000000000000000000000000000000000 --- a/tutorials/multiphase/twoPhaseEulerFoam/mixerVessel2D/0/U2 +++ /dev/null @@ -1,46 +0,0 @@ -/*--------------------------------*- 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 volVectorField; - object U2; -} -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -dimensions [0 1 -1 0 0 0 0]; - -internalField uniform (0 0 0); - -boundaryField -{ - rotor - { - type fixedValue; - value uniform (0 0 0); - } - - stator - { - type fixedValue; - value uniform (0 0 0); - } - - front - { - type empty; - } - - back - { - type empty; - } -} - -// ************************************************************************* // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/mixerVessel2D/0/alpha1 b/tutorials/multiphase/twoPhaseEulerFoam/mixerVessel2D/0/alpha1 deleted file mode 100644 index 637ebed0e893d74b6cff62103ebf3c627ec682b9..0000000000000000000000000000000000000000 --- a/tutorials/multiphase/twoPhaseEulerFoam/mixerVessel2D/0/alpha1 +++ /dev/null @@ -1,44 +0,0 @@ -/*--------------------------------*- 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 alpha1; -} -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -dimensions [0 0 0 0 0 0 0]; - -internalField uniform 0.5; - -boundaryField -{ - rotor - { - type zeroGradient; - } - - stator - { - type zeroGradient; - } - - front - { - type empty; - } - - back - { - type empty; - } -} - -// ************************************************************************* // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/mixerVessel2D/0/epsilon b/tutorials/multiphase/twoPhaseEulerFoam/mixerVessel2D/0/epsilon deleted file mode 100644 index 3f507afed8ea6ba738e2fc7772a1fe96b57609de..0000000000000000000000000000000000000000 --- a/tutorials/multiphase/twoPhaseEulerFoam/mixerVessel2D/0/epsilon +++ /dev/null @@ -1,48 +0,0 @@ -/*--------------------------------*- 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 epsilon; -} -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -dimensions [ 0 2 -3 0 0 0 0 ]; - -internalField uniform 20; - -boundaryField -{ - rotor - { - type zeroGradient; - value uniform 20; - } - - stator - { - type zeroGradient; - value uniform 20; - } - - front - { - type empty; - } - - back - { - type empty; - } -} - - -// ************************************************************************* // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/mixerVessel2D/0/k b/tutorials/multiphase/twoPhaseEulerFoam/mixerVessel2D/0/k deleted file mode 100644 index 4704b49c838eb9f1f6c32dad5d2440ad7e7989f6..0000000000000000000000000000000000000000 --- a/tutorials/multiphase/twoPhaseEulerFoam/mixerVessel2D/0/k +++ /dev/null @@ -1,48 +0,0 @@ -/*--------------------------------*- 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 k; -} -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -dimensions [ 0 2 -2 0 0 0 0 ]; - -internalField uniform 0; - -boundaryField -{ - rotor - { - type zeroGradient; - value uniform 0; - } - - stator - { - type zeroGradient; - value uniform 0; - } - - front - { - type empty; - } - - back - { - type empty; - } -} - - -// ************************************************************************* // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/mixerVessel2D/0/p b/tutorials/multiphase/twoPhaseEulerFoam/mixerVessel2D/0/p deleted file mode 100644 index 32d92ebc3637af3a1e125f0f79d738521aac9fd8..0000000000000000000000000000000000000000 --- a/tutorials/multiphase/twoPhaseEulerFoam/mixerVessel2D/0/p +++ /dev/null @@ -1,46 +0,0 @@ -/*--------------------------------*- 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 0; - -boundaryField -{ - rotor - { - type fixedFluxPressure; - value $internalField; - } - - stator - { - type fixedFluxPressure; - value $internalField; - } - - front - { - type empty; - } - - back - { - type empty; - } -} - -// ************************************************************************* // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/mixerVessel2D/Allrun b/tutorials/multiphase/twoPhaseEulerFoam/mixerVessel2D/Allrun deleted file mode 100755 index a718eaf7e662bad616179bd183caa9fd72de8b79..0000000000000000000000000000000000000000 --- a/tutorials/multiphase/twoPhaseEulerFoam/mixerVessel2D/Allrun +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh -cd ${0%/*} || exit 1 # run from this directory - -# Source tutorial run functions -. $WM_PROJECT_DIR/bin/tools/RunFunctions - -application=`getApplication` - -runApplication ./makeMesh -runApplication $application - -# ----------------------------------------------------------------- end-of-file diff --git a/tutorials/multiphase/twoPhaseEulerFoam/mixerVessel2D/constant/MRFProperties b/tutorials/multiphase/twoPhaseEulerFoam/mixerVessel2D/constant/MRFProperties deleted file mode 100644 index 8712458a97f59faf84c16b1cfe8d6da06bd442b7..0000000000000000000000000000000000000000 --- a/tutorials/multiphase/twoPhaseEulerFoam/mixerVessel2D/constant/MRFProperties +++ /dev/null @@ -1,31 +0,0 @@ -/*--------------------------------*- 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 MRFProperties; -} -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -zone1 -{ - cellZone rotor; - active yes; - - // Fixed patches (by default they 'move' with the MRF zone) - nonRotatingPatches (); - - origin (0 0 0); - axis (0 0 1); - omega constant 10.472; -} - -// ************************************************************************* // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/mixerVessel2D/constant/RASProperties b/tutorials/multiphase/twoPhaseEulerFoam/mixerVessel2D/constant/RASProperties deleted file mode 100644 index 41b54318fe41ab6593fd868ca5c080769a1988c1..0000000000000000000000000000000000000000 --- a/tutorials/multiphase/twoPhaseEulerFoam/mixerVessel2D/constant/RASProperties +++ /dev/null @@ -1,25 +0,0 @@ -/*--------------------------------*- 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 RASProperties; -} -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -RASModel kEpsilon; - -turbulence off; - -printCoeffs on; - - -// ************************************************************************* // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/mixerVessel2D/constant/g b/tutorials/multiphase/twoPhaseEulerFoam/mixerVessel2D/constant/g deleted file mode 100644 index 508d65849430f8e5abf4b12d7baa53d70521a1c3..0000000000000000000000000000000000000000 --- a/tutorials/multiphase/twoPhaseEulerFoam/mixerVessel2D/constant/g +++ /dev/null @@ -1,22 +0,0 @@ -/*--------------------------------*- 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 0 0); - - -// ************************************************************************* // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/mixerVessel2D/constant/interfacialProperties b/tutorials/multiphase/twoPhaseEulerFoam/mixerVessel2D/constant/interfacialProperties deleted file mode 100644 index 41159fe9def1d68030d4d4c65aacca7947e0610b..0000000000000000000000000000000000000000 --- a/tutorials/multiphase/twoPhaseEulerFoam/mixerVessel2D/constant/interfacialProperties +++ /dev/null @@ -1,30 +0,0 @@ -/*--------------------------------*- 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 interfacialProperties; -} -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -dragModel1 SchillerNaumann; -dragModel2 SchillerNaumann; - -heatTransferModel1 RanzMarshall; -heatTransferModel2 RanzMarshall; - -dispersedPhase both; -dragPhase blended; - -residualSlip 1e-2; -minInterfaceAlpha 1e-3; - -// ************************************************************************* // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/mixerVessel2D/constant/kineticTheoryProperties b/tutorials/multiphase/twoPhaseEulerFoam/mixerVessel2D/constant/kineticTheoryProperties deleted file mode 100644 index 2df50542e555669990b2caa032cf9aee7f92b8ad..0000000000000000000000000000000000000000 --- a/tutorials/multiphase/twoPhaseEulerFoam/mixerVessel2D/constant/kineticTheoryProperties +++ /dev/null @@ -1,52 +0,0 @@ -/*--------------------------------*- 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 kineticTheoryProperties; -} -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -kineticTheory off; - -equilibrium on; - -e e [ 0 0 0 0 0 0 0 ] 0.9; - -alphaMax alphaMax [ 0 0 0 0 0 0 0 ] 0.6; - -alphaMinFriction alphaMinFriction [ 0 0 0 0 0 0 0 ] 0.5; - -Fr Fr [ 1 -1 -2 0 0 0 0 ] 0.05; - -eta eta [ 0 0 0 0 0 0 0 ] 2; - -p p [ 0 0 0 0 0 0 0 ] 5; - -phi phi [ 0 0 0 0 0 0 0 ] 25; - -viscosityModel Syamlal; - -conductivityModel HrenyaSinclair; - -granularPressureModel Lun; - -frictionalStressModel JohnsonJackson; - -radialModel SinclairJackson; - -HrenyaSinclairCoeffs -{ - L L [ 0 1 0 0 0 0 0 ] 0.0005; -} - - -// ************************************************************************* // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/mixerVessel2D/constant/polyMesh/blockMeshDict.m4 b/tutorials/multiphase/twoPhaseEulerFoam/mixerVessel2D/constant/polyMesh/blockMeshDict.m4 deleted file mode 100644 index a93868498ba68d11b25b0875ff69205f62f822ed..0000000000000000000000000000000000000000 --- a/tutorials/multiphase/twoPhaseEulerFoam/mixerVessel2D/constant/polyMesh/blockMeshDict.m4 +++ /dev/null @@ -1,818 +0,0 @@ -/*--------------------------------*- 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; -} -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -// General macros to create 2D/extruded-2D meshes - -changecom(//)changequote([,]) -define(calc, [esyscmd(perl -e 'print ($1)')]) -define(VCOUNT, 0) -define(vlabel, [[// ]Vertex $1 = VCOUNT define($1, VCOUNT)define([VCOUNT], incr(VCOUNT))]) -define(pi, 3.14159265) - -define(hex2D, hex ($1b $2b $3b $4b $1t $2t $3t $4t)) -define(quad2D, ($1b $2b $2t $1t)) -define(frontQuad, ($1t $2t $3t $4t)) -define(backQuad, ($1b $4b $3b $2b)) - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -convertToMeters 0.1; - -// Hub radius -define(r, 0.2) - -// Impeller-tip radius -define(rb, 0.5) - -// Baffle-tip radius -define(Rb, 0.7) - -// Tank radius -define(R, 1) - -// MRF region radius -define(ri, calc(0.5*(rb + Rb))) - -// Thickness of 2D slab -define(z, 0.1) - -// Base z -define(Zb, 0) - -// Top z -define(Zt, calc(Zb + z)) - -// Number of cells radially between hub and impeller tip -define(Nr, 12) - -// Number of cells radially in each of the two regions between -// impeller and baffle tips -define(Ni, 4) - -// Number of cells radially between baffle tip and tank -define(NR, 12) - -// Number of cells azimuthally in each of the 8 blocks -define(Na, 12) - -// Number of cells in the thickness of the slab -define(Nz, 1) - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -define(vert, (x$1$2 y$1$2 $3)) -define(evert, (ex$1$2 ey$1$2 $3)) - -define(a0, 0) -define(a1, -45) -define(a2, -90) -define(a3, -135) -define(a4, 180) -define(a5, 135) -define(a6, 90) -define(a7, 45) - -define(ea0, -22.5) -define(ea1, -67.5) -define(ea2, -112.5) -define(ea3, -157.5) -define(ea4, 157.5) -define(ea5, 112.5) -define(ea6, 67.5) -define(ea7, 22.5) - -define(ca0, calc(cos((pi/180)*a0))) -define(ca1, calc(cos((pi/180)*a1))) -define(ca2, calc(cos((pi/180)*a2))) -define(ca3, calc(cos((pi/180)*a3))) -define(ca4, calc(cos((pi/180)*a4))) -define(ca5, calc(cos((pi/180)*a5))) -define(ca6, calc(cos((pi/180)*a6))) -define(ca7, calc(cos((pi/180)*a7))) - -define(sa0, calc(sin((pi/180)*a0))) -define(sa1, calc(sin((pi/180)*a1))) -define(sa2, calc(sin((pi/180)*a2))) -define(sa3, calc(sin((pi/180)*a3))) -define(sa4, calc(sin((pi/180)*a4))) -define(sa5, calc(sin((pi/180)*a5))) -define(sa6, calc(sin((pi/180)*a6))) -define(sa7, calc(sin((pi/180)*a7))) - -define(cea0, calc(cos((pi/180)*ea0))) -define(cea1, calc(cos((pi/180)*ea1))) -define(cea2, calc(cos((pi/180)*ea2))) -define(cea3, calc(cos((pi/180)*ea3))) -define(cea4, calc(cos((pi/180)*ea4))) -define(cea5, calc(cos((pi/180)*ea5))) -define(cea6, calc(cos((pi/180)*ea6))) -define(cea7, calc(cos((pi/180)*ea7))) - -define(sea0, calc(sin((pi/180)*ea0))) -define(sea1, calc(sin((pi/180)*ea1))) -define(sea2, calc(sin((pi/180)*ea2))) -define(sea3, calc(sin((pi/180)*ea3))) -define(sea4, calc(sin((pi/180)*ea4))) -define(sea5, calc(sin((pi/180)*ea5))) -define(sea6, calc(sin((pi/180)*ea6))) -define(sea7, calc(sin((pi/180)*ea7))) - -define(x00, calc(r*ca0)) -define(x01, calc(r*ca1)) -define(x02, calc(r*ca2)) -define(x03, calc(r*ca3)) -define(x04, calc(r*ca4)) -define(x05, calc(r*ca5)) -define(x06, calc(r*ca6)) -define(x07, calc(r*ca7)) - -define(x10, calc(rb*ca0)) -define(x11, calc(rb*ca1)) -define(x12, calc(rb*ca2)) -define(x13, calc(rb*ca3)) -define(x14, calc(rb*ca4)) -define(x15, calc(rb*ca5)) -define(x16, calc(rb*ca6)) -define(x17, calc(rb*ca7)) - -define(x20, calc(ri*ca0)) -define(x21, calc(ri*ca1)) -define(x22, calc(ri*ca2)) -define(x23, calc(ri*ca3)) -define(x24, calc(ri*ca4)) -define(x25, calc(ri*ca5)) -define(x26, calc(ri*ca6)) -define(x27, calc(ri*ca7)) - -define(x30, calc(Rb*ca0)) -define(x31, calc(Rb*ca1)) -define(x32, calc(Rb*ca2)) -define(x33, calc(Rb*ca3)) -define(x34, calc(Rb*ca4)) -define(x35, calc(Rb*ca5)) -define(x36, calc(Rb*ca6)) -define(x37, calc(Rb*ca7)) - -define(x40, calc(R*ca0)) -define(x41, calc(R*ca1)) -define(x42, calc(R*ca2)) -define(x43, calc(R*ca3)) -define(x44, calc(R*ca4)) -define(x45, calc(R*ca5)) -define(x46, calc(R*ca6)) -define(x47, calc(R*ca7)) - -define(y00, calc(r*sa0)) -define(y01, calc(r*sa1)) -define(y02, calc(r*sa2)) -define(y03, calc(r*sa3)) -define(y04, calc(r*sa4)) -define(y05, calc(r*sa5)) -define(y06, calc(r*sa6)) -define(y07, calc(r*sa7)) - -define(y10, calc(rb*sa0)) -define(y11, calc(rb*sa1)) -define(y12, calc(rb*sa2)) -define(y13, calc(rb*sa3)) -define(y14, calc(rb*sa4)) -define(y15, calc(rb*sa5)) -define(y16, calc(rb*sa6)) -define(y17, calc(rb*sa7)) - -define(y20, calc(ri*sa0)) -define(y21, calc(ri*sa1)) -define(y22, calc(ri*sa2)) -define(y23, calc(ri*sa3)) -define(y24, calc(ri*sa4)) -define(y25, calc(ri*sa5)) -define(y26, calc(ri*sa6)) -define(y27, calc(ri*sa7)) - -define(y30, calc(Rb*sa0)) -define(y31, calc(Rb*sa1)) -define(y32, calc(Rb*sa2)) -define(y33, calc(Rb*sa3)) -define(y34, calc(Rb*sa4)) -define(y35, calc(Rb*sa5)) -define(y36, calc(Rb*sa6)) -define(y37, calc(Rb*sa7)) - -define(y40, calc(R*sa0)) -define(y41, calc(R*sa1)) -define(y42, calc(R*sa2)) -define(y43, calc(R*sa3)) -define(y44, calc(R*sa4)) -define(y45, calc(R*sa5)) -define(y46, calc(R*sa6)) -define(y47, calc(R*sa7)) - -define(ex00, calc(r*cea0)) -define(ex01, calc(r*cea1)) -define(ex02, calc(r*cea2)) -define(ex03, calc(r*cea3)) -define(ex04, calc(r*cea4)) -define(ex05, calc(r*cea5)) -define(ex06, calc(r*cea6)) -define(ex07, calc(r*cea7)) - -define(ex10, calc(rb*cea0)) -define(ex11, calc(rb*cea1)) -define(ex12, calc(rb*cea2)) -define(ex13, calc(rb*cea3)) -define(ex14, calc(rb*cea4)) -define(ex15, calc(rb*cea5)) -define(ex16, calc(rb*cea6)) -define(ex17, calc(rb*cea7)) - -define(ex20, calc(ri*cea0)) -define(ex21, calc(ri*cea1)) -define(ex22, calc(ri*cea2)) -define(ex23, calc(ri*cea3)) -define(ex24, calc(ri*cea4)) -define(ex25, calc(ri*cea5)) -define(ex26, calc(ri*cea6)) -define(ex27, calc(ri*cea7)) - -define(ex30, calc(Rb*cea0)) -define(ex31, calc(Rb*cea1)) -define(ex32, calc(Rb*cea2)) -define(ex33, calc(Rb*cea3)) -define(ex34, calc(Rb*cea4)) -define(ex35, calc(Rb*cea5)) -define(ex36, calc(Rb*cea6)) -define(ex37, calc(Rb*cea7)) - -define(ex40, calc(R*cea0)) -define(ex41, calc(R*cea1)) -define(ex42, calc(R*cea2)) -define(ex43, calc(R*cea3)) -define(ex44, calc(R*cea4)) -define(ex45, calc(R*cea5)) -define(ex46, calc(R*cea6)) -define(ex47, calc(R*cea7)) - -define(ey00, calc(r*sea0)) -define(ey01, calc(r*sea1)) -define(ey02, calc(r*sea2)) -define(ey03, calc(r*sea3)) -define(ey04, calc(r*sea4)) -define(ey05, calc(r*sea5)) -define(ey06, calc(r*sea6)) -define(ey07, calc(r*sea7)) - -define(ey10, calc(rb*sea0)) -define(ey11, calc(rb*sea1)) -define(ey12, calc(rb*sea2)) -define(ey13, calc(rb*sea3)) -define(ey14, calc(rb*sea4)) -define(ey15, calc(rb*sea5)) -define(ey16, calc(rb*sea6)) -define(ey17, calc(rb*sea7)) - -define(ey20, calc(ri*sea0)) -define(ey21, calc(ri*sea1)) -define(ey22, calc(ri*sea2)) -define(ey23, calc(ri*sea3)) -define(ey24, calc(ri*sea4)) -define(ey25, calc(ri*sea5)) -define(ey26, calc(ri*sea6)) -define(ey27, calc(ri*sea7)) - -define(ey30, calc(Rb*sea0)) -define(ey31, calc(Rb*sea1)) -define(ey32, calc(Rb*sea2)) -define(ey33, calc(Rb*sea3)) -define(ey34, calc(Rb*sea4)) -define(ey35, calc(Rb*sea5)) -define(ey36, calc(Rb*sea6)) -define(ey37, calc(Rb*sea7)) - -define(ey40, calc(R*sea0)) -define(ey41, calc(R*sea1)) -define(ey42, calc(R*sea2)) -define(ey43, calc(R*sea3)) -define(ey44, calc(R*sea4)) -define(ey45, calc(R*sea5)) -define(ey46, calc(R*sea6)) -define(ey47, calc(R*sea7)) - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -vertices -( - vert(0, 0, Zb) vlabel(r0b) - vert(0, 0, Zb) vlabel(r0sb) - vert(0, 1, Zb) vlabel(r1b) - vert(0, 2, Zb) vlabel(r2b) - vert(0, 2, Zb) vlabel(r2sb) - vert(0, 3, Zb) vlabel(r3b) - vert(0, 4, Zb) vlabel(r4b) - vert(0, 4, Zb) vlabel(r4sb) - vert(0, 5, Zb) vlabel(r5b) - vert(0, 6, Zb) vlabel(r6b) - vert(0, 6, Zb) vlabel(r6sb) - vert(0, 7, Zb) vlabel(r7b) - - vert(1, 0, Zb) vlabel(rb0b) - vert(1, 1, Zb) vlabel(rb1b) - vert(1, 2, Zb) vlabel(rb2b) - vert(1, 3, Zb) vlabel(rb3b) - vert(1, 4, Zb) vlabel(rb4b) - vert(1, 5, Zb) vlabel(rb5b) - vert(1, 6, Zb) vlabel(rb6b) - vert(1, 7, Zb) vlabel(rb7b) - - vert(2, 0, Zb) vlabel(ri0b) - vert(2, 1, Zb) vlabel(ri1b) - vert(2, 2, Zb) vlabel(ri2b) - vert(2, 3, Zb) vlabel(ri3b) - vert(2, 4, Zb) vlabel(ri4b) - vert(2, 5, Zb) vlabel(ri5b) - vert(2, 6, Zb) vlabel(ri6b) - vert(2, 7, Zb) vlabel(ri7b) - - vert(3, 0, Zb) vlabel(Rb0b) - vert(3, 1, Zb) vlabel(Rb1b) - vert(3, 2, Zb) vlabel(Rb2b) - vert(3, 3, Zb) vlabel(Rb3b) - vert(3, 4, Zb) vlabel(Rb4b) - vert(3, 5, Zb) vlabel(Rb5b) - vert(3, 6, Zb) vlabel(Rb6b) - vert(3, 7, Zb) vlabel(Rb7b) - - vert(4, 0, Zb) vlabel(R0b) - vert(4, 1, Zb) vlabel(R1b) - vert(4, 1, Zb) vlabel(R1sb) - vert(4, 2, Zb) vlabel(R2b) - vert(4, 3, Zb) vlabel(R3b) - vert(4, 3, Zb) vlabel(R3sb) - vert(4, 4, Zb) vlabel(R4b) - vert(4, 5, Zb) vlabel(R5b) - vert(4, 5, Zb) vlabel(R5sb) - vert(4, 6, Zb) vlabel(R6b) - vert(4, 7, Zb) vlabel(R7b) - vert(4, 7, Zb) vlabel(R7sb) - - vert(0, 0, Zt) vlabel(r0t) - vert(0, 0, Zt) vlabel(r0st) - vert(0, 1, Zt) vlabel(r1t) - vert(0, 2, Zt) vlabel(r2t) - vert(0, 2, Zt) vlabel(r2st) - vert(0, 3, Zt) vlabel(r3t) - vert(0, 4, Zt) vlabel(r4t) - vert(0, 4, Zt) vlabel(r4st) - vert(0, 5, Zt) vlabel(r5t) - vert(0, 6, Zt) vlabel(r6t) - vert(0, 6, Zt) vlabel(r6st) - vert(0, 7, Zt) vlabel(r7t) - - vert(1, 0, Zt) vlabel(rb0t) - vert(1, 1, Zt) vlabel(rb1t) - vert(1, 2, Zt) vlabel(rb2t) - vert(1, 3, Zt) vlabel(rb3t) - vert(1, 4, Zt) vlabel(rb4t) - vert(1, 5, Zt) vlabel(rb5t) - vert(1, 6, Zt) vlabel(rb6t) - vert(1, 7, Zt) vlabel(rb7t) - - vert(2, 0, Zt) vlabel(ri0t) - vert(2, 1, Zt) vlabel(ri1t) - vert(2, 2, Zt) vlabel(ri2t) - vert(2, 3, Zt) vlabel(ri3t) - vert(2, 4, Zt) vlabel(ri4t) - vert(2, 5, Zt) vlabel(ri5t) - vert(2, 6, Zt) vlabel(ri6t) - vert(2, 7, Zt) vlabel(ri7t) - - vert(3, 0, Zt) vlabel(Rb0t) - vert(3, 1, Zt) vlabel(Rb1t) - vert(3, 2, Zt) vlabel(Rb2t) - vert(3, 3, Zt) vlabel(Rb3t) - vert(3, 4, Zt) vlabel(Rb4t) - vert(3, 5, Zt) vlabel(Rb5t) - vert(3, 6, Zt) vlabel(Rb6t) - vert(3, 7, Zt) vlabel(Rb7t) - - vert(4, 0, Zt) vlabel(R0t) - vert(4, 1, Zt) vlabel(R1t) - vert(4, 1, Zt) vlabel(R1st) - vert(4, 2, Zt) vlabel(R2t) - vert(4, 3, Zt) vlabel(R3t) - vert(4, 3, Zt) vlabel(R3st) - vert(4, 4, Zt) vlabel(R4t) - vert(4, 5, Zt) vlabel(R5t) - vert(4, 5, Zt) vlabel(R5st) - vert(4, 6, Zt) vlabel(R6t) - vert(4, 7, Zt) vlabel(R7t) - vert(4, 7, Zt) vlabel(R7st) -); - -blocks -( - // block0 - hex2D(r0, r1, rb1, rb0) - rotor - (Na Nr Nz) - simpleGrading (1 1 1) - - // block1 - hex2D(r1, r2s, rb2, rb1) - rotor - (Na Nr Nz) - simpleGrading (1 1 1) - - // block2 - hex2D(r2, r3, rb3, rb2) - rotor - (Na Nr Nz) - simpleGrading (1 1 1) - - // block3 - hex2D(r3, r4s, rb4, rb3) - rotor - (Na Nr Nz) - simpleGrading (1 1 1) - - // block4 - hex2D(r4, r5, rb5, rb4) - rotor - (Na Nr Nz) - simpleGrading (1 1 1) - - // block5 - hex2D(r5, r6s, rb6, rb5) - rotor - (Na Nr Nz) - simpleGrading (1 1 1) - - // block6 - hex2D(r6, r7, rb7, rb6) - rotor - (Na Nr Nz) - simpleGrading (1 1 1) - - // block7 - hex2D(r7, r0s, rb0, rb7) - rotor - (Na Nr Nz) - simpleGrading (1 1 1) - - // block0 - hex2D(rb0, rb1, ri1, ri0) - rotor - (Na Ni Nz) - simpleGrading (1 1 1) - - // block1 - hex2D(rb1, rb2, ri2, ri1) - rotor - (Na Ni Nz) - simpleGrading (1 1 1) - - // block2 - hex2D(rb2, rb3, ri3, ri2) - rotor - (Na Ni Nz) - simpleGrading (1 1 1) - - // block3 - hex2D(rb3, rb4, ri4, ri3) - rotor - (Na Ni Nz) - simpleGrading (1 1 1) - - // block4 - hex2D(rb4, rb5, ri5, ri4) - rotor - (Na Ni Nz) - simpleGrading (1 1 1) - - // block5 - hex2D(rb5, rb6, ri6, ri5) - rotor - (Na Ni Nz) - simpleGrading (1 1 1) - - // block6 - hex2D(rb6, rb7, ri7, ri6) - rotor - (Na Ni Nz) - simpleGrading (1 1 1) - - // block7 - hex2D(rb7, rb0, ri0, ri7) - rotor - (Na Ni Nz) - simpleGrading (1 1 1) - - // block0 - hex2D(ri0, ri1, Rb1, Rb0) - (Na Ni Nz) - simpleGrading (1 1 1) - - // block1 - hex2D(ri1, ri2, Rb2, Rb1) - (Na Ni Nz) - simpleGrading (1 1 1) - - // block2 - hex2D(ri2, ri3, Rb3, Rb2) - (Na Ni Nz) - simpleGrading (1 1 1) - - // block3 - hex2D(ri3, ri4, Rb4, Rb3) - (Na Ni Nz) - simpleGrading (1 1 1) - - // block4 - hex2D(ri4, ri5, Rb5, Rb4) - (Na Ni Nz) - simpleGrading (1 1 1) - - // block5 - hex2D(ri5, ri6, Rb6, Rb5) - (Na Ni Nz) - simpleGrading (1 1 1) - - // block6 - hex2D(ri6, ri7, Rb7, Rb6) - (Na Ni Nz) - simpleGrading (1 1 1) - - // block7 - hex2D(ri7, ri0, Rb0, Rb7) - (Na Ni Nz) - simpleGrading (1 1 1) - - // block0 - hex2D(Rb0, Rb1, R1s, R0) - (Na NR Nz) - simpleGrading (1 1 1) - - // block1 - hex2D(Rb1, Rb2, R2, R1) - (Na NR Nz) - simpleGrading (1 1 1) - - // block2 - hex2D(Rb2, Rb3, R3s, R2) - (Na NR Nz) - simpleGrading (1 1 1) - - // block3 - hex2D(Rb3, Rb4, R4, R3) - (Na NR Nz) - simpleGrading (1 1 1) - - // block4 - hex2D(Rb4, Rb5, R5s, R4) - (Na NR Nz) - simpleGrading (1 1 1) - - // block5 - hex2D(Rb5, Rb6, R6, R5) - (Na NR Nz) - simpleGrading (1 1 1) - - // block6 - hex2D(Rb6, Rb7, R7s, R6) - (Na NR Nz) - simpleGrading (1 1 1) - - // block7 - hex2D(Rb7, Rb0, R0, R7) - (Na NR Nz) - simpleGrading (1 1 1) -); - -edges -( - arc r0b r1b evert(0, 0, Zb) - arc r1b r2sb evert(0, 1, Zb) - arc r2b r3b evert(0, 2, Zb) - arc r3b r4sb evert(0, 3, Zb) - arc r4b r5b evert(0, 4, Zb) - arc r5b r6sb evert(0, 5, Zb) - arc r6b r7b evert(0, 6, Zb) - arc r7b r0sb evert(0, 7, Zb) - - arc rb0b rb1b evert(1, 0, Zb) - arc rb1b rb2b evert(1, 1, Zb) - arc rb2b rb3b evert(1, 2, Zb) - arc rb3b rb4b evert(1, 3, Zb) - arc rb4b rb5b evert(1, 4, Zb) - arc rb5b rb6b evert(1, 5, Zb) - arc rb6b rb7b evert(1, 6, Zb) - arc rb7b rb0b evert(1, 7, Zb) - - arc ri0b ri1b evert(2, 0, Zb) - arc ri1b ri2b evert(2, 1, Zb) - arc ri2b ri3b evert(2, 2, Zb) - arc ri3b ri4b evert(2, 3, Zb) - arc ri4b ri5b evert(2, 4, Zb) - arc ri5b ri6b evert(2, 5, Zb) - arc ri6b ri7b evert(2, 6, Zb) - arc ri7b ri0b evert(2, 7, Zb) - - arc Rb0b Rb1b evert(3, 0, Zb) - arc Rb1b Rb2b evert(3, 1, Zb) - arc Rb2b Rb3b evert(3, 2, Zb) - arc Rb3b Rb4b evert(3, 3, Zb) - arc Rb4b Rb5b evert(3, 4, Zb) - arc Rb5b Rb6b evert(3, 5, Zb) - arc Rb6b Rb7b evert(3, 6, Zb) - arc Rb7b Rb0b evert(3, 7, Zb) - - arc R0b R1sb evert(4, 0, Zb) - arc R1b R2b evert(4, 1, Zb) - arc R2b R3sb evert(4, 2, Zb) - arc R3b R4b evert(4, 3, Zb) - arc R4b R5sb evert(4, 4, Zb) - arc R5b R6b evert(4, 5, Zb) - arc R6b R7sb evert(4, 6, Zb) - arc R7b R0b evert(4, 7, Zb) - - arc r0t r1t evert(0, 0, Zt) - arc r1t r2st evert(0, 1, Zt) - arc r2t r3t evert(0, 2, Zt) - arc r3t r4st evert(0, 3, Zt) - arc r4t r5t evert(0, 4, Zt) - arc r5t r6st evert(0, 5, Zt) - arc r6t r7t evert(0, 6, Zt) - arc r7t r0st evert(0, 7, Zt) - - arc rb0t rb1t evert(1, 0, Zt) - arc rb1t rb2t evert(1, 1, Zt) - arc rb2t rb3t evert(1, 2, Zt) - arc rb3t rb4t evert(1, 3, Zt) - arc rb4t rb5t evert(1, 4, Zt) - arc rb5t rb6t evert(1, 5, Zt) - arc rb6t rb7t evert(1, 6, Zt) - arc rb7t rb0t evert(1, 7, Zt) - - arc ri0t ri1t evert(2, 0, Zt) - arc ri1t ri2t evert(2, 1, Zt) - arc ri2t ri3t evert(2, 2, Zt) - arc ri3t ri4t evert(2, 3, Zt) - arc ri4t ri5t evert(2, 4, Zt) - arc ri5t ri6t evert(2, 5, Zt) - arc ri6t ri7t evert(2, 6, Zt) - arc ri7t ri0t evert(2, 7, Zt) - - arc Rb0t Rb1t evert(3, 0, Zt) - arc Rb1t Rb2t evert(3, 1, Zt) - arc Rb2t Rb3t evert(3, 2, Zt) - arc Rb3t Rb4t evert(3, 3, Zt) - arc Rb4t Rb5t evert(3, 4, Zt) - arc Rb5t Rb6t evert(3, 5, Zt) - arc Rb6t Rb7t evert(3, 6, Zt) - arc Rb7t Rb0t evert(3, 7, Zt) - - arc R0t R1st evert(4, 0, Zt) - arc R1t R2t evert(4, 1, Zt) - arc R2t R3st evert(4, 2, Zt) - arc R3t R4t evert(4, 3, Zt) - arc R4t R5st evert(4, 4, Zt) - arc R5t R6t evert(4, 5, Zt) - arc R6t R7st evert(4, 6, Zt) - arc R7t R0t evert(4, 7, Zt) -); - -patches -( - wall rotor - ( - quad2D(r0, r1) - quad2D(r1, r2s) - quad2D(r2, r3) - quad2D(r3, r4s) - quad2D(r4, r5) - quad2D(r5, r6s) - quad2D(r6, r7) - quad2D(r7, r0s) - - quad2D(r0, rb0) - quad2D(r0s, rb0) - - quad2D(r2, rb2) - quad2D(r2s, rb2) - - quad2D(r4, rb4) - quad2D(r4s, rb4) - - quad2D(r6, rb6) - quad2D(r6s, rb6) - ) - - wall stator - ( - quad2D(R0, R1s) - quad2D(R1, R2) - quad2D(R2, R3s) - quad2D(R3, R4) - quad2D(R4, R5s) - quad2D(R5, R6) - quad2D(R6, R7s) - quad2D(R7, R0) - - quad2D(R1, Rb1) - quad2D(R1s, Rb1) - - quad2D(R3, Rb3) - quad2D(R3s, Rb3) - - quad2D(R5, Rb5) - quad2D(R5s, Rb5) - - quad2D(R7, Rb7) - quad2D(R7s, Rb7) - ) - - empty front - ( - frontQuad(r0, r1, rb1, rb0) - frontQuad(r1, r2s, rb2, rb1) - frontQuad(r2, r3, rb3, rb2) - frontQuad(r3, r4s, rb4, rb3) - frontQuad(r4, r5, rb5, rb4) - frontQuad(r5, r6s, rb6, rb5) - frontQuad(r6, r7, rb7, rb6) - frontQuad(r7, r0s, rb0, rb7) - frontQuad(rb0, rb1, ri1, ri0) - frontQuad(rb1, rb2, ri2, ri1) - frontQuad(rb2, rb3, ri3, ri2) - frontQuad(rb3, rb4, ri4, ri3) - frontQuad(rb4, rb5, ri5, ri4) - frontQuad(rb5, rb6, ri6, ri5) - frontQuad(rb6, rb7, ri7, ri6) - frontQuad(rb7, rb0, ri0, ri7) - frontQuad(ri0, ri1, Rb1, Rb0) - frontQuad(ri1, ri2, Rb2, Rb1) - frontQuad(ri2, ri3, Rb3, Rb2) - frontQuad(ri3, ri4, Rb4, Rb3) - frontQuad(ri4, ri5, Rb5, Rb4) - frontQuad(ri5, ri6, Rb6, Rb5) - frontQuad(ri6, ri7, Rb7, Rb6) - frontQuad(ri7, ri0, Rb0, Rb7) - frontQuad(Rb0, Rb1, R1s, R0) - frontQuad(Rb1, Rb2, R2, R1) - frontQuad(Rb2, Rb3, R3s, R2) - frontQuad(Rb3, Rb4, R4, R3) - frontQuad(Rb4, Rb5, R5s, R4) - frontQuad(Rb5, Rb6, R6, R5) - frontQuad(Rb6, Rb7, R7s, R6) - frontQuad(Rb7, Rb0, R0, R7) - ) - - empty back - ( - backQuad(r0, r1, rb1, rb0) - backQuad(r1, r2s, rb2, rb1) - backQuad(r2, r3, rb3, rb2) - backQuad(r3, r4s, rb4, rb3) - backQuad(r4, r5, rb5, rb4) - backQuad(r5, r6s, rb6, rb5) - backQuad(r6, r7, rb7, rb6) - backQuad(r7, r0s, rb0, rb7) - backQuad(rb0, rb1, ri1, ri0) - backQuad(rb1, rb2, ri2, ri1) - backQuad(rb2, rb3, ri3, ri2) - backQuad(rb3, rb4, ri4, ri3) - backQuad(rb4, rb5, ri5, ri4) - backQuad(rb5, rb6, ri6, ri5) - backQuad(rb6, rb7, ri7, ri6) - backQuad(rb7, rb0, ri0, ri7) - backQuad(ri0, ri1, Rb1, Rb0) - backQuad(ri1, ri2, Rb2, Rb1) - backQuad(ri2, ri3, Rb3, Rb2) - backQuad(ri3, ri4, Rb4, Rb3) - backQuad(ri4, ri5, Rb5, Rb4) - backQuad(ri5, ri6, Rb6, Rb5) - backQuad(ri6, ri7, Rb7, Rb6) - backQuad(ri7, ri0, Rb0, Rb7) - backQuad(Rb0, Rb1, R1s, R0) - backQuad(Rb1, Rb2, R2, R1) - backQuad(Rb2, Rb3, R3s, R2) - backQuad(Rb3, Rb4, R4, R3) - backQuad(Rb4, Rb5, R5s, R4) - backQuad(Rb5, Rb6, R6, R5) - backQuad(Rb6, Rb7, R7s, R6) - backQuad(Rb7, Rb0, R0, R7) - ) -); - -// ************************************************************************* // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/mixerVessel2D/constant/polyMesh/boundary b/tutorials/multiphase/twoPhaseEulerFoam/mixerVessel2D/constant/polyMesh/boundary deleted file mode 100644 index 292f25b806357d9df75c7731f74dee0ec0aa3a40..0000000000000000000000000000000000000000 --- a/tutorials/multiphase/twoPhaseEulerFoam/mixerVessel2D/constant/polyMesh/boundary +++ /dev/null @@ -1,46 +0,0 @@ -/*--------------------------------*- 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 -( - rotor - { - type wall; - nFaces 192; - startFace 5952; - } - stator - { - type wall; - nFaces 192; - startFace 6144; - } - front - { - type empty; - nFaces 3072; - startFace 6336; - } - back - { - type empty; - nFaces 3072; - startFace 9408; - } -) - -// ************************************************************************* // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/mixerVessel2D/constant/ppProperties b/tutorials/multiphase/twoPhaseEulerFoam/mixerVessel2D/constant/ppProperties deleted file mode 100644 index eddbfd7ad7910a8a85af9c310b1424eb18d3eb1e..0000000000000000000000000000000000000000 --- a/tutorials/multiphase/twoPhaseEulerFoam/mixerVessel2D/constant/ppProperties +++ /dev/null @@ -1,29 +0,0 @@ -/*--------------------------------*- 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 ppProperties; -} -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -preAlphaExp 300; - -expMax 10; - -alphaMax 0.6; - -g0 g0 [ 1 -1 -2 0 0 0 0 ] 0; - -packingLimiter off; - - -// ************************************************************************* // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/mixerVessel2D/constant/transportProperties b/tutorials/multiphase/twoPhaseEulerFoam/mixerVessel2D/constant/transportProperties deleted file mode 100644 index 98c39c54c1e862d70e8f02e7a9b8ca162204f970..0000000000000000000000000000000000000000 --- a/tutorials/multiphase/twoPhaseEulerFoam/mixerVessel2D/constant/transportProperties +++ /dev/null @@ -1,44 +0,0 @@ -/*--------------------------------*- 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 transportProperties; -} -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -phase1 -{ - rho 0.88; - nu 2.46e-05; - d 3e-3; -} - -phase2 -{ - rho 733; - nu 2.73e-6; - d 1e-4; -} - -// Virtual-mass ceofficient -Cvm 0.5; - -// Lift coefficient -Cl 0; - -// Dispersed-phase turbulence coefficient -Ct 0.2; - -// Minimum allowable pressure -pMin 10000; - -// ************************************************************************* // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/mixerVessel2D/makeMesh b/tutorials/multiphase/twoPhaseEulerFoam/mixerVessel2D/makeMesh deleted file mode 100755 index 8ef4993fdebc0faac8bb6c69426059aba4b3faac..0000000000000000000000000000000000000000 --- a/tutorials/multiphase/twoPhaseEulerFoam/mixerVessel2D/makeMesh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh - -m4 < constant/polyMesh/blockMeshDict.m4 > constant/polyMesh/blockMeshDict -blockMesh -topoSet -setsToZones -noFlipMap diff --git a/tutorials/multiphase/twoPhaseEulerFoam/mixerVessel2D/system/fvSchemes b/tutorials/multiphase/twoPhaseEulerFoam/mixerVessel2D/system/fvSchemes deleted file mode 100644 index 22f964670702bc54b4221f5d022ce0f0bf942bd8..0000000000000000000000000000000000000000 --- a/tutorials/multiphase/twoPhaseEulerFoam/mixerVessel2D/system/fvSchemes +++ /dev/null @@ -1,62 +0,0 @@ -/*--------------------------------*- 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,alpha1) Gauss limitedLinear01 1; - div(phir,alpha1) Gauss limitedLinear01 1; - "div\(phi.,U.\)" Gauss limitedLinearV 1; - "div\(Rc.\)" Gauss linear; - "div\(phi.,(k|epsilon)\)" Gauss limitedLinear 1; -} - -laplacianSchemes -{ - default Gauss linear corrected; -} - -interpolationSchemes -{ - default linear; -} - -snGradSchemes -{ - default corrected; -} - -fluxRequired -{ - default no; - p ; - alpha1; -} - - -// ************************************************************************* // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/mixerVessel2D/system/fvSolution b/tutorials/multiphase/twoPhaseEulerFoam/mixerVessel2D/system/fvSolution deleted file mode 100644 index f281016b47a9a002bd4e6be554b74990eb7129e6..0000000000000000000000000000000000000000 --- a/tutorials/multiphase/twoPhaseEulerFoam/mixerVessel2D/system/fvSolution +++ /dev/null @@ -1,100 +0,0 @@ -/*--------------------------------*- 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 -{ - alpha1 - { - nAlphaCorr 1; - nAlphaSubCycles 3; - } - - p - { - solver GAMG; - tolerance 1e-08; - relTol 0.05; - smoother GaussSeidel; - cacheAgglomeration true; - nCellsInCoarsestLevel 20; - agglomerator faceAreaPair; - mergeLevels 1; - } - - pFinal - { - $p; - tolerance 1e-08; - relTol 0; - } - - U - { - solver smoothSolver; - smoother GaussSeidel; - nSweeps 2; - tolerance 1e-07; - relTol 0.1; - } - - UFinal - { - solver PBiCG; - preconditioner DILU; - tolerance 1e-07; - relTol 0; - } - - "(k|epsilon|Theta|T).*" - { - solver PBiCG; - preconditioner DILU; - tolerance 1e-06; - relTol 0; - } -} - -PIMPLE -{ - nOuterCorrectors 1; - nCorrectors 3; - nNonOrthogonalCorrectors 0; - correctAlpha yes; - - pRefCell 0; - pRefValue 0; -} - -relaxationFactors -{ - fields - { - p 1; - } - equations - { - "U.*" 1; - "alpha.*" 1; - "Theta.*" 1; - "k.*" 1; - "epsilon.*" 1; - "T.*" 1; - } -} - - -// ************************************************************************* // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/mixerVessel2D/system/topoSetDict b/tutorials/multiphase/twoPhaseEulerFoam/mixerVessel2D/system/topoSetDict deleted file mode 100644 index bf749449bfe3a53cee9b2d709eb66a9b2aff4bfe..0000000000000000000000000000000000000000 --- a/tutorials/multiphase/twoPhaseEulerFoam/mixerVessel2D/system/topoSetDict +++ /dev/null @@ -1,32 +0,0 @@ -/*--------------------------------*- 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 topoSetDict; -} -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -actions -( - { - name rotor; - type cellSet; - action new; - source zoneToCell; - sourceInfo - { - name rotor; - } - } -); - -// ************************************************************************* //