diff --git a/applications/solvers/combustion/PDRFoam/pEqn.H b/applications/solvers/combustion/PDRFoam/pEqn.H index 45f982ba4d..f3ba02efbe 100644 --- a/applications/solvers/combustion/PDRFoam/pEqn.H +++ b/applications/solvers/combustion/PDRFoam/pEqn.H @@ -1,7 +1,8 @@ rho = thermo.rho(); volScalarField rAU(1.0/UEqn.A()); -U = invA & UEqn.H(); +volVectorField HbyA("HbyA", U); +HbyA = invA & UEqn.H(); if (pimple.transonic()) { @@ -10,7 +11,7 @@ if (pimple.transonic()) "phid", fvc::interpolate(psi) *( - (fvc::interpolate(U) & mesh.Sf()) + (fvc::interpolate(HbyA) & mesh.Sf()) + fvc::ddtPhiCorr(rAU, rho, U, phi) ) ); @@ -34,19 +35,22 @@ if (pimple.transonic()) } else { - phi = + surfaceScalarField phiHbyA + ( + "phiHbyA", fvc::interpolate(rho)* ( - (fvc::interpolate(U) & mesh.Sf()) + (fvc::interpolate(HbyA) & mesh.Sf()) + fvc::ddtPhiCorr(rAU, rho, U, phi) - ); + ) + ); while (pimple.correctNonOrthogonal()) { fvScalarMatrix pEqn ( betav*fvm::ddt(psi, p) - + fvc::div(phi) + + fvc::div(phiHbyA) - fvm::laplacian(rho*invA, p) ); @@ -54,7 +58,7 @@ else if (pimple.finalNonOrthogonalIter()) { - phi += pEqn.flux(); + phi = phiHbyA + pEqn.flux(); } } } @@ -62,7 +66,7 @@ else #include "rhoEqn.H" #include "continuityErrs.H" -U -= invA & (betav*fvc::grad(p)); +U = HbyA - (invA & (betav*fvc::grad(p))); U.correctBoundaryConditions(); K = 0.5*magSqr(U); diff --git a/applications/solvers/multiphase/bubbleFoam/wallFunctions.H b/applications/solvers/multiphase/bubbleFoam/wallFunctions.H index 0d04746840..e49ae0f66b 100644 --- a/applications/solvers/multiphase/bubbleFoam/wallFunctions.H +++ b/applications/solvers/multiphase/bubbleFoam/wallFunctions.H @@ -41,12 +41,6 @@ { label faceCelli = currPatch.faceCells()[facei]; - scalar yPlus = - Cmu25*y[patchi][facei] - *::sqrt(k[faceCelli]) - /nub_; - - // For corner cells (with two boundary or more faces), // epsilon and G in the near-wall cell are calculated // as an average @@ -57,13 +51,10 @@ Cmu75*::pow(k[faceCelli], 1.5) /(kappa_*y[patchi][facei]); - if (yPlus > 11.6) - { - G[faceCelli] += - (nutbw[facei] + nub_)*magFaceGradU[facei] - *Cmu25*::sqrt(k[faceCelli]) - /(kappa_*y[patchi][facei]); - } + G[faceCelli] += + (nutbw[facei] + nub_)*magFaceGradU[facei] + *Cmu25*::sqrt(k[faceCelli]) + /(kappa_*y[patchi][facei]); } } } @@ -83,6 +74,7 @@ epsilon[faceCelli] /= cellBoundaryFaceCount[faceCelli]; G[faceCelli] /= cellBoundaryFaceCount[faceCelli]; + cellBoundaryFaceCount[faceCelli] = 1; } } } diff --git a/applications/solvers/multiphase/bubbleFoam/wallViscosity.H b/applications/solvers/multiphase/bubbleFoam/wallViscosity.H index aef31a3d16..f34054f525 100644 --- a/applications/solvers/multiphase/bubbleFoam/wallViscosity.H +++ b/applications/solvers/multiphase/bubbleFoam/wallViscosity.H @@ -20,16 +20,11 @@ // calculate yPlus scalar yPlus = - Cmu25*y[patchi][facei] - *::sqrt(k[faceCelli]) - /nub_; + Cmu25*y[patchi][facei]*::sqrt(k[faceCelli])/nub_; if (yPlus > 11.6) { - nutw[facei] = - yPlus*nub_*kappa_ - /::log(E_*yPlus) - - nub_; + nutw[facei] = nub_*(yPlus*kappa_/::log(E_*yPlus) -1); } else { diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/turbulenceModel/wallFunctions.H b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/turbulenceModel/wallFunctions.H index aad0d1b1eb..c91cce9a00 100644 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/turbulenceModel/wallFunctions.H +++ b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/turbulenceModel/wallFunctions.H @@ -41,12 +41,6 @@ { label faceCelli = currPatch.faceCells()[facei]; - scalar yPlus = - Cmu25*y[patchi][facei] - *::sqrt(k[faceCelli]) - /nu2_; - - // For corner cells (with two boundary or more faces), // epsilon and G in the near-wall cell are calculated // as an average @@ -57,13 +51,10 @@ Cmu75*::pow(k[faceCelli], 1.5) /(kappa_*y[patchi][facei]); - if (yPlus > 11.6) - { - G[faceCelli] += - (nut2w[facei] + nu2_)*magFaceGradU[facei] - *Cmu25*::sqrt(k[faceCelli]) - /(kappa_*y[patchi][facei]); - } + G[faceCelli] += + (nut2w[facei] + nu2_)*magFaceGradU[facei] + *Cmu25*::sqrt(k[faceCelli]) + /(kappa_*y[patchi][facei]); } } } @@ -83,6 +74,7 @@ epsilon[faceCelli] /= cellBoundaryFaceCount[faceCelli]; G[faceCelli] /= cellBoundaryFaceCount[faceCelli]; + cellBoundaryFaceCount[faceCelli] = 1; } } } diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/turbulenceModel/wallViscosity.H b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/turbulenceModel/wallViscosity.H index fdbe578209..b153a36014 100644 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/turbulenceModel/wallViscosity.H +++ b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/turbulenceModel/wallViscosity.H @@ -20,16 +20,11 @@ // calculate yPlus scalar yPlus = - Cmu25*y[patchi][facei] - *::sqrt(k[faceCelli]) - /nu2_; + Cmu25*y[patchi][facei]*::sqrt(k[faceCelli])/nu2_; if (yPlus > 11.6) { - nutw[facei] = - yPlus*nu2_*kappa_ - /::log(E_*yPlus) - - nu2_; + nutw[facei] = nu2_*(yPlus*kappa_/::log(E_*yPlus) - 1); } else { diff --git a/applications/solvers/multiphase/settlingFoam/UEqn.H b/applications/solvers/multiphase/settlingFoam/UEqn.H index fc750765b7..d6232da309 100644 --- a/applications/solvers/multiphase/settlingFoam/UEqn.H +++ b/applications/solvers/multiphase/settlingFoam/UEqn.H @@ -9,7 +9,9 @@ (Alpha/(scalar(1.001) - Alpha))*(sqr(rhoc)/rho)*Vdj*Vdj, "div(phiVdj,Vdj)" ) - - fvm::laplacian(mu, U, "laplacian(muEff,U)") + - fvm::laplacian(muEff, U, "laplacian(muEff,U)") + - (fvc::grad(U) & fvc::grad(muEff)) + //- fvc::div(muEff*dev2(T(fvc::grad(U)))) ); UEqn.relax(); diff --git a/applications/solvers/multiphase/settlingFoam/alphaEqn.H b/applications/solvers/multiphase/settlingFoam/alphaEqn.H index 0596d27871..dccf434d14 100644 --- a/applications/solvers/multiphase/settlingFoam/alphaEqn.H +++ b/applications/solvers/multiphase/settlingFoam/alphaEqn.H @@ -10,13 +10,16 @@ phi + rhoc*(mesh.Sf() & fvc::interpolate(Vdj)) ); - solve + fvScalarMatrix AlphaEqn ( fvm::ddt(rho, Alpha) + fvm::div(phiAlpha, Alpha) - fvm::laplacian(mut, Alpha) ); + AlphaEqn.relax(); + AlphaEqn.solve(); + Info<< "Solid phase fraction = " << Alpha.weightedAverage(mesh.V()).value() << " Min(Alpha) = " << min(Alpha).value() diff --git a/applications/solvers/multiphase/settlingFoam/correctViscosity.H b/applications/solvers/multiphase/settlingFoam/correctViscosity.H index ddc539dcdb..0bf086a4f4 100644 --- a/applications/solvers/multiphase/settlingFoam/correctViscosity.H +++ b/applications/solvers/multiphase/settlingFoam/correctViscosity.H @@ -34,4 +34,6 @@ ) + mul; } + + mul = min(mul, muMax); } diff --git a/applications/solvers/multiphase/settlingFoam/createFields.H b/applications/solvers/multiphase/settlingFoam/createFields.H index 057487f7ac..8d161edd82 100644 --- a/applications/solvers/multiphase/settlingFoam/createFields.H +++ b/applications/solvers/multiphase/settlingFoam/createFields.H @@ -61,6 +61,7 @@ dimensionedScalar rhod(transportProperties.lookup("rhod")); dimensionedScalar muc(transportProperties.lookup("muc")); + dimensionedScalar muMax(transportProperties.lookup("muMax")); dimensionedScalar plasticViscosityCoeff ( @@ -328,12 +329,12 @@ ); - Info<< "Calculating field mu\n" << endl; - volScalarField mu + Info<< "Calculating field muEff\n" << endl; + volScalarField muEff ( IOobject ( - "mu", + "muEff", runTime.timeName(), mesh, IOobject::NO_READ, @@ -345,7 +346,7 @@ Info<< "Calculating field (g.h)f\n" << endl; volScalarField gh("gh", g & mesh.C()); - surfaceScalarField ghf(surfaceScalarField("gh", g & mesh.Cf())); + surfaceScalarField ghf("gh", g & mesh.Cf()); volScalarField p ( diff --git a/applications/solvers/multiphase/settlingFoam/kEpsilon.H b/applications/solvers/multiphase/settlingFoam/kEpsilon.H index ac1de3b9e1..d6f983ed27 100644 --- a/applications/solvers/multiphase/settlingFoam/kEpsilon.H +++ b/applications/solvers/multiphase/settlingFoam/kEpsilon.H @@ -5,7 +5,9 @@ if (turbulence) y.correct(); } + dimensionedScalar k0("k0", k.dimensions(), 0); dimensionedScalar kMin("kMin", k.dimensions(), SMALL); + dimensionedScalar epsilon0("epsilon0", epsilon.dimensions(), 0); dimensionedScalar epsilonMin("epsilonMin", epsilon.dimensions(), SMALL); volScalarField divU(fvc::div(phi/fvc::interpolate(rho))); @@ -28,13 +30,13 @@ if (turbulence) + fvm::div(phi, epsilon) - fvm::laplacian ( - mut/sigmaEps + mul, epsilon, + mut/sigmaEps + muc, epsilon, "laplacian(DepsilonEff,epsilon)" ) == - C1*G*epsilon/k + C1*G*epsilon/(k + kMin) - fvm::SuSp(C1*(1.0 - C3)*Gcoef + (2.0/3.0*C1)*rho*divU, epsilon) - - fvm::Sp(C2*rho*epsilon/k, epsilon) + - fvm::Sp(C2*rho*epsilon/(k + kMin), epsilon) ); #include "wallDissipation.H" @@ -42,7 +44,7 @@ if (turbulence) epsEqn.relax(); epsEqn.solve(); - bound(epsilon, epsilonMin); + bound(epsilon, epsilon0); // Turbulent kinetic energy equation @@ -52,19 +54,19 @@ if (turbulence) + fvm::div(phi, k) - fvm::laplacian ( - mut/sigmak + mul, k, + mut/sigmak + muc, k, "laplacian(DkEff,k)" ) == G - fvm::SuSp(Gcoef + 2.0/3.0*rho*divU, k) - - fvm::Sp(rho*epsilon/k, k) + - fvm::Sp(rho*epsilon/(k + kMin), k) ); kEqn.relax(); kEqn.solve(); - bound(k, kMin); + bound(k, k0); //- Re-calculate viscosity @@ -73,4 +75,4 @@ if (turbulence) #include "wallViscosity.H" } -mu = mut + mul; +muEff = mut + mul; diff --git a/applications/solvers/multiphase/settlingFoam/settlingFoam.C b/applications/solvers/multiphase/settlingFoam/settlingFoam.C index 3d9fe516d8..57c531ba83 100644 --- a/applications/solvers/multiphase/settlingFoam/settlingFoam.C +++ b/applications/solvers/multiphase/settlingFoam/settlingFoam.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-2012 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -57,11 +57,15 @@ int main(int argc, char *argv[]) Info<< "\nStarting time loop\n" << endl; - while (runTime.loop()) + while (runTime.run()) { - Info<< "Time = " << runTime.timeName() << nl << endl; - + #include "readTimeControls.H" #include "compressibleCourantNo.H" + #include "setDeltaT.H" + + runTime++; + + Info<< "Time = " << runTime.timeName() << nl << endl; #include "rhoEqn.H" diff --git a/applications/solvers/multiphase/settlingFoam/wallFunctions.H b/applications/solvers/multiphase/settlingFoam/wallFunctions.H index 952d3c4591..149d787c59 100644 --- a/applications/solvers/multiphase/settlingFoam/wallFunctions.H +++ b/applications/solvers/multiphase/settlingFoam/wallFunctions.H @@ -1,9 +1,10 @@ { labelList cellBoundaryFaceCount(epsilon.size(), 0); - scalar Cmu25 = ::pow(Cmu.value(), 0.25); - scalar Cmu75 = ::pow(Cmu.value(), 0.75); - scalar kappa_ = kappa.value(); + const scalar Cmu25 = ::pow(Cmu.value(), 0.25); + const scalar Cmu75 = ::pow(Cmu.value(), 0.75); + const scalar kappa_ = kappa.value(); + const scalar muc_ = muc.value(); const fvPatchList& patches = mesh.boundary(); @@ -32,9 +33,6 @@ if (isA(curPatch)) { - const scalarField& rhow = rho.boundaryField()[patchi]; - - const scalarField muw(mul.boundaryField()[patchi]); const scalarField& mutw = mut.boundaryField()[patchi]; scalarField magFaceGradU @@ -46,10 +44,6 @@ { label faceCelli = curPatch.faceCells()[facei]; - scalar yPlus = - Cmu25*y[patchi][facei]*::sqrt(k[faceCelli]) - /(muw[facei]/rhow[facei]); - // For corner cells (with two boundary or more faces), // epsilon and G in the near-wall cell are calculated // as an average @@ -57,16 +51,14 @@ cellBoundaryFaceCount[faceCelli]++; epsilon[faceCelli] += - Cmu75*rho[faceCelli]*::pow(k[faceCelli], 1.5) + Cmu75*::pow(k[faceCelli], 1.5) /(kappa_*y[patchi][facei]); - if (yPlus > 11.6) - { - G[faceCelli] += - mutw[facei]*magFaceGradU[facei] - *Cmu25*::sqrt(k[faceCelli]) - /(kappa_*y[patchi][facei]); - } + G[faceCelli] += + (mutw[facei] + muc_) + *magFaceGradU[facei] + *Cmu25*::sqrt(k[faceCelli]) + /(kappa_*y[patchi][facei]); } } } @@ -86,6 +78,7 @@ epsilon[faceCelli] /= cellBoundaryFaceCount[faceCelli]; G[faceCelli] /= cellBoundaryFaceCount[faceCelli]; + cellBoundaryFaceCount[faceCelli] = 1; } } } diff --git a/applications/solvers/multiphase/settlingFoam/wallViscosity.H b/applications/solvers/multiphase/settlingFoam/wallViscosity.H index 9516bb0fea..d63f7e79b1 100644 --- a/applications/solvers/multiphase/settlingFoam/wallViscosity.H +++ b/applications/solvers/multiphase/settlingFoam/wallViscosity.H @@ -1,7 +1,9 @@ { - scalar Cmu25 = ::pow(Cmu.value(), 0.25); - scalar kappa_ = kappa.value(); - scalar E_ = E.value(); + const scalar Cmu25 = ::pow(Cmu.value(), 0.25); + const scalar kappa_ = kappa.value(); + const scalar E_ = E.value(); + const scalar muc_ = muc.value(); + const scalar nuc_ = muc_/rhoc.value(); const fvPatchList& patches = mesh.boundary(); @@ -11,9 +13,6 @@ if (isA(curPatch)) { - const scalarField& rhow = rho.boundaryField()[patchi]; - - const scalarField muw(mul.boundaryField()[patchi]); scalarField& mutw = mut.boundaryField()[patchi]; forAll(curPatch, facei) @@ -22,13 +21,12 @@ scalar yPlus = Cmu25*y[patchi][facei]*::sqrt(k[faceCelli]) - /(muw[facei]/rhow[facei]); + /nuc_; if (yPlus > 11.6) { mutw[facei] = - muw[facei] - *(yPlus*kappa_/::log(E_*yPlus) - 1); + muc_*(yPlus*kappa_/::log(E_*yPlus) - 1); } else { diff --git a/src/finiteVolume/fvMatrices/fvMatrix/fvMatrix.C b/src/finiteVolume/fvMatrices/fvMatrix/fvMatrix.C index fd78acb546..f9937b532c 100644 --- a/src/finiteVolume/fvMatrices/fvMatrix/fvMatrix.C +++ b/src/finiteVolume/fvMatrices/fvMatrix/fvMatrix.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-2012 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -596,7 +596,7 @@ void Foam::fvMatrix::relax(const scalar alpha) scalar sumNon = 0.0; forAll(D, celli) { - scalar d = (sumOff[celli] - D[celli])/D[celli]; + scalar d = (sumOff[celli] - D[celli])/mag(D[celli]); if (d > 0) { @@ -621,8 +621,11 @@ void Foam::fvMatrix::relax(const scalar alpha) // Ensure the matrix is diagonally dominant... - // (assumes that the central coefficient is positive) - max(D, D, sumOff); + // Assumes that the central coefficient is positive and ensures it is + forAll(D, celli) + { + D[celli] = max(mag(D[celli]), sumOff[celli]); + } // ... then relax D /= alpha; diff --git a/src/turbulenceModels/incompressible/RAS/LienCubicKE/LienCubicKE.C b/src/turbulenceModels/incompressible/RAS/LienCubicKE/LienCubicKE.C index 96052f5b09..03e1e5aa1a 100644 --- a/src/turbulenceModels/incompressible/RAS/LienCubicKE/LienCubicKE.C +++ b/src/turbulenceModels/incompressible/RAS/LienCubicKE/LienCubicKE.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-2012 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -171,16 +171,15 @@ LienCubicKE::LienCubicKE autoCreateEpsilon("epsilon", mesh_) ), - gradU_(fvc::grad(U)), eta_ ( k_/bound(epsilon_, epsilonMin_) - *sqrt(2.0*magSqr(0.5*(gradU_ + gradU_.T()))) + *sqrt(2.0*magSqr(0.5*(fvc::grad(U) + T(fvc::grad(U))))) ), ksi_ ( k_/epsilon_ - *sqrt(2.0*magSqr(0.5*(gradU_ - gradU_.T()))) + *sqrt(2.0*magSqr(0.5*(fvc::grad(U) - T(fvc::grad(U))))) ), Cmu_(2.0/(3.0*(A1_ + eta_ + alphaKsi_*ksi_))), fEta_(A2_ + pow(eta_, 3.0)), @@ -189,8 +188,8 @@ LienCubicKE::LienCubicKE ( - 2.0*pow3(Cmu_)*pow4(k_)/pow3(epsilon_) *( - magSqr(gradU_ + gradU_.T()) - - magSqr(gradU_ - gradU_.T()) + magSqr(fvc::grad(U) + T(fvc::grad(U))) + - magSqr(fvc::grad(U) - T(fvc::grad(U))) ) ), @@ -217,20 +216,20 @@ LienCubicKE::LienCubicKE *( Ctau1_/fEta_ *( - (gradU_ & gradU_) - + (gradU_ & gradU_)().T() + (fvc::grad(U) & fvc::grad(U)) + + (fvc::grad(U) & fvc::grad(U))().T() ) - + Ctau2_/fEta_*(gradU_ & gradU_.T()) - + Ctau3_/fEta_*(gradU_.T() & gradU_) + + Ctau2_/fEta_*(fvc::grad(U) & T(fvc::grad(U))) + + Ctau3_/fEta_*(T(fvc::grad(U)) & fvc::grad(U)) ) // cubic term C4 - 20.0*pow(k_, 4.0)/pow(epsilon_, 3.0) *pow(Cmu_, 3.0) *( - ((gradU_ & gradU_) & gradU_.T()) - + ((gradU_ & gradU_.T()) & gradU_.T()) - - ((gradU_.T() & gradU_) & gradU_) - - ((gradU_.T() & gradU_.T()) & gradU_) + ((fvc::grad(U) & fvc::grad(U)) & T(fvc::grad(U))) + + ((fvc::grad(U) & T(fvc::grad(U))) & T(fvc::grad(U))) + - ((T(fvc::grad(U)) & fvc::grad(U)) & fvc::grad(U)) + - ((T(fvc::grad(U)) & T(fvc::grad(U))) & fvc::grad(U)) ) ) ) @@ -261,7 +260,7 @@ tmp LienCubicKE::R() const IOobject::NO_READ, IOobject::NO_WRITE ), - ((2.0/3.0)*I)*k_ - nut_*twoSymm(gradU_) + nonlinearStress_, + ((2.0/3.0)*I)*k_ - nut_*twoSymm(fvc::grad(U_)) + nonlinearStress_, k_.boundaryField().types() ) ); @@ -332,15 +331,16 @@ void LienCubicKE::correct() return; } - gradU_ = fvc::grad(U_); + tmp tgradU = fvc::grad(U_); + const volTensorField& gradU = tgradU(); // generation term - tmp S2 = symm(gradU_) && gradU_; + tmp S2 = symm(gradU) && gradU; volScalarField G ( "RASModel::G", - Cmu_*sqr(k_)/epsilon_*S2 - (nonlinearStress_ && gradU_) + Cmu_*sqr(k_)/epsilon_*S2 - (nonlinearStress_ && gradU) ); // Update epsilon and G at the wall @@ -384,14 +384,14 @@ void LienCubicKE::correct() // Re-calculate viscosity - eta_ = k_/epsilon_*sqrt(2.0*magSqr(0.5*(gradU_ + gradU_.T()))); - ksi_ = k_/epsilon_*sqrt(2.0*magSqr(0.5*(gradU_ - gradU_.T()))); + eta_ = k_/epsilon_*sqrt(2.0*magSqr(0.5*(gradU + gradU.T()))); + ksi_ = k_/epsilon_*sqrt(2.0*magSqr(0.5*(gradU - gradU.T()))); Cmu_ = 2.0/(3.0*(A1_ + eta_ + alphaKsi_*ksi_)); fEta_ = A2_ + pow(eta_, 3.0); C5viscosity_ = - 2.0*pow(Cmu_, 3.0)*pow(k_, 4.0)/pow(epsilon_, 3.0) - *(magSqr(gradU_ + gradU_.T()) - magSqr(gradU_ - gradU_.T())); + *(magSqr(gradU + gradU.T()) - magSqr(gradU - gradU.T())); nut_ = Cmu_*sqr(k_)/epsilon_ + C5viscosity_; nut_.correctBoundaryConditions(); @@ -403,20 +403,20 @@ void LienCubicKE::correct() ( Ctau1_/fEta_* ( - (gradU_ & gradU_) - + (gradU_ & gradU_)().T() + (gradU & gradU) + + (gradU & gradU)().T() ) - + Ctau2_/fEta_*(gradU_ & gradU_.T()) - + Ctau3_/fEta_*(gradU_.T() & gradU_) + + Ctau2_/fEta_*(gradU & gradU.T()) + + Ctau3_/fEta_*(gradU.T() & gradU) ) // cubic term C4 - 20.0*pow(k_, 4.0)/pow(epsilon_, 3.0) *pow(Cmu_, 3.0) *( - ((gradU_ & gradU_) & gradU_.T()) - + ((gradU_ & gradU_.T()) & gradU_.T()) - - ((gradU_.T() & gradU_) & gradU_) - - ((gradU_.T() & gradU_.T()) & gradU_) + ((gradU & gradU) & gradU.T()) + + ((gradU & gradU.T()) & gradU.T()) + - ((gradU.T() & gradU) & gradU) + - ((gradU.T() & gradU.T()) & gradU) ) ); } diff --git a/src/turbulenceModels/incompressible/RAS/LienCubicKE/LienCubicKE.H b/src/turbulenceModels/incompressible/RAS/LienCubicKE/LienCubicKE.H index 1f675ac655..ebe7c373d8 100644 --- a/src/turbulenceModels/incompressible/RAS/LienCubicKE/LienCubicKE.H +++ b/src/turbulenceModels/incompressible/RAS/LienCubicKE/LienCubicKE.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-2012 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -78,7 +78,6 @@ protected: volScalarField k_; volScalarField epsilon_; - volTensorField gradU_; volScalarField eta_; volScalarField ksi_; volScalarField Cmu_; diff --git a/src/turbulenceModels/incompressible/RAS/LienCubicKELowRe/LienCubicKELowRe.C b/src/turbulenceModels/incompressible/RAS/LienCubicKELowRe/LienCubicKELowRe.C index eaf09f03c1..e0bd0f0df9 100644 --- a/src/turbulenceModels/incompressible/RAS/LienCubicKELowRe/LienCubicKELowRe.C +++ b/src/turbulenceModels/incompressible/RAS/LienCubicKELowRe/LienCubicKELowRe.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-2012 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -220,16 +220,15 @@ LienCubicKELowRe::LienCubicKELowRe y_(mesh_), - gradU_(fvc::grad(U)), eta_ ( k_/bound(epsilon_, epsilonMin_) - *sqrt(2.0*magSqr(0.5*(gradU_ + gradU_.T()))) + *sqrt(2.0*magSqr(0.5*(fvc::grad(U) + T(fvc::grad(U))))) ), ksi_ ( k_/epsilon_ - *sqrt(2.0*magSqr(0.5*(gradU_ - gradU_.T()))) + *sqrt(2.0*magSqr(0.5*(fvc::grad(U) - T(fvc::grad(U))))) ), Cmu_(2.0/(3.0*(A1_ + eta_ + alphaKsi_*ksi_))), fEta_(A2_ + pow3(eta_)), @@ -237,7 +236,10 @@ LienCubicKELowRe::LienCubicKELowRe C5viscosity_ ( -2.0*pow3(Cmu_)*pow4(k_)/pow3(epsilon_) - *(magSqr(gradU_ + gradU_.T()) - magSqr(gradU_ - gradU_.T())) + *( + magSqr(fvc::grad(U) + T(fvc::grad(U))) + - magSqr(fvc::grad(U) - T(fvc::grad(U))) + ) ), yStar_(sqrt(k_)*y_/nu() + SMALL), @@ -265,27 +267,27 @@ LienCubicKELowRe::LienCubicKELowRe *( Ctau1_/fEta_ *( - (gradU_ & gradU_) - + (gradU_ & gradU_)().T() + (fvc::grad(U) & fvc::grad(U)) + + (fvc::grad(U) & fvc::grad(U))().T() ) - + Ctau2_/fEta_*(gradU_ & gradU_.T()) - + Ctau3_/fEta_*(gradU_.T() & gradU_) + + Ctau2_/fEta_*(fvc::grad(U) & T(fvc::grad(U))) + + Ctau3_/fEta_*(T(fvc::grad(U)) & fvc::grad(U)) ) // cubic term C4 - 20.0*pow4(k_)/pow3(epsilon_) *pow3(Cmu_) *( - ((gradU_ & gradU_) & gradU_.T()) - + ((gradU_ & gradU_.T()) & gradU_.T()) - - ((gradU_.T() & gradU_) & gradU_) - - ((gradU_.T() & gradU_.T()) & gradU_) + ((fvc::grad(U) & fvc::grad(U)) & T(fvc::grad(U))) + + ((fvc::grad(U) & T(fvc::grad(U))) & T(fvc::grad(U))) + - ((T(fvc::grad(U)) & fvc::grad(U)) & fvc::grad(U)) + - ((T(fvc::grad(U)) & T(fvc::grad(U))) & fvc::grad(U)) ) // cubic term C5, explicit part + min ( C5viscosity_, dimensionedScalar("0", C5viscosity_.dimensions(), 0.0) - )*gradU_ + )*fvc::grad(U) ) ) { @@ -325,7 +327,7 @@ tmp LienCubicKELowRe::R() const IOobject::NO_READ, IOobject::NO_WRITE ), - ((2.0/3.0)*I)*k_ - nut_*twoSymm(gradU_) + nonlinearStress_, + ((2.0/3.0)*I)*k_ - nut_*twoSymm(fvc::grad(U_)) + nonlinearStress_, k_.boundaryField().types() ) ); @@ -406,10 +408,11 @@ void LienCubicKELowRe::correct() y_.correct(); } - gradU_ = fvc::grad(U_); + tmp tgradU = fvc::grad(U_); + const volTensorField& gradU = tgradU(); // generation term - tmp S2 = symm(gradU_) && gradU_; + tmp S2 = symm(gradU) && gradU; yStar_ = sqrt(k_)*y_/nu() + SMALL; tmp Rt = sqr(k_)/(nu()*epsilon_); @@ -427,7 +430,7 @@ void LienCubicKELowRe::correct() volScalarField G ( "RASModel::G", - Cmu_*fMu*sqr(k_)/epsilon_*S2 - (nonlinearStress_ && gradU_) + Cmu_*fMu*sqr(k_)/epsilon_*S2 - (nonlinearStress_ && gradU) ); // Dissipation equation @@ -473,14 +476,14 @@ void LienCubicKELowRe::correct() // Re-calculate viscosity - eta_ = k_/epsilon_*sqrt(2.0*magSqr(0.5*(gradU_ + gradU_.T()))); - ksi_ = k_/epsilon_*sqrt(2.0*magSqr(0.5*(gradU_ - gradU_.T()))); + eta_ = k_/epsilon_*sqrt(2.0*magSqr(0.5*(gradU + gradU.T()))); + ksi_ = k_/epsilon_*sqrt(2.0*magSqr(0.5*(gradU - gradU.T()))); Cmu_ = 2.0/(3.0*(A1_ + eta_ + alphaKsi_*ksi_)); fEta_ = A2_ + pow(eta_, 3.0); C5viscosity_ = - 2.0*pow(Cmu_, 3.0)*pow(k_, 4.0)/pow(epsilon_, 3.0) - *(magSqr(gradU_ + gradU_.T()) - magSqr(gradU_ - gradU_.T())); + *(magSqr(gradU + gradU.T()) - magSqr(gradU - gradU.T())); nut_ = Cmu_*fMu*sqr(k_)/epsilon_ @@ -498,27 +501,27 @@ void LienCubicKELowRe::correct() *( Ctau1_/fEta_ *( - (gradU_ & gradU_) - + (gradU_ & gradU_)().T() + (gradU & gradU) + + (gradU & gradU)().T() ) - + Ctau2_/fEta_*(gradU_ & gradU_.T()) - + Ctau3_/fEta_*(gradU_.T() & gradU_) + + Ctau2_/fEta_*(gradU & gradU.T()) + + Ctau3_/fEta_*(gradU.T() & gradU) ) // cubic term C4 - 20.0*pow(k_, 4.0)/pow(epsilon_, 3.0) *pow(Cmu_, 3.0) *( - ((gradU_ & gradU_) & gradU_.T()) - + ((gradU_ & gradU_.T()) & gradU_.T()) - - ((gradU_.T() & gradU_) & gradU_) - - ((gradU_.T() & gradU_.T()) & gradU_) + ((gradU & gradU) & gradU.T()) + + ((gradU & gradU.T()) & gradU.T()) + - ((gradU.T() & gradU) & gradU) + - ((gradU.T() & gradU.T()) & gradU) ) // cubic term C5, explicit part + min ( C5viscosity_, dimensionedScalar("0", C5viscosity_.dimensions(), 0.0) - )*gradU_ + )*gradU ); } diff --git a/src/turbulenceModels/incompressible/RAS/LienCubicKELowRe/LienCubicKELowRe.H b/src/turbulenceModels/incompressible/RAS/LienCubicKELowRe/LienCubicKELowRe.H index 4cf5143e74..0efd63a454 100644 --- a/src/turbulenceModels/incompressible/RAS/LienCubicKELowRe/LienCubicKELowRe.H +++ b/src/turbulenceModels/incompressible/RAS/LienCubicKELowRe/LienCubicKELowRe.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-2012 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -103,7 +103,6 @@ protected: wallDist y_; - volTensorField gradU_; volScalarField eta_; volScalarField ksi_; volScalarField Cmu_; diff --git a/src/turbulenceModels/incompressible/RAS/NonlinearKEShih/NonlinearKEShih.C b/src/turbulenceModels/incompressible/RAS/NonlinearKEShih/NonlinearKEShih.C index 5fdb54af7e..09c025dc02 100644 --- a/src/turbulenceModels/incompressible/RAS/NonlinearKEShih/NonlinearKEShih.C +++ b/src/turbulenceModels/incompressible/RAS/NonlinearKEShih/NonlinearKEShih.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-2012 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -190,16 +190,15 @@ NonlinearKEShih::NonlinearKEShih mesh_ ), - gradU_(fvc::grad(U)), eta_ ( k_/bound(epsilon_, epsilonMin_) - *sqrt(2.0*magSqr(0.5*(gradU_ + gradU_.T()))) + *sqrt(2.0*magSqr(0.5*(fvc::grad(U) + T(fvc::grad(U))))) ), ksi_ ( k_/epsilon_ - *sqrt(2.0*magSqr(0.5*(gradU_ - gradU_.T()))) + *sqrt(2.0*magSqr(0.5*(fvc::grad(U) - T(fvc::grad(U))))) ), Cmu_(2.0/(3.0*(A1_ + eta_ + alphaKsi_*ksi_))), fEta_(A2_ + pow(eta_, 3.0)), @@ -215,11 +214,11 @@ NonlinearKEShih::NonlinearKEShih *( Ctau1_/fEta_ *( - (gradU_ & gradU_) - + (gradU_ & gradU_)().T() + (fvc::grad(U) & fvc::grad(U)) + + (fvc::grad(U) & fvc::grad(U))().T() ) - + Ctau2_/fEta_*(gradU_ & gradU_.T()) - + Ctau3_/fEta_*(gradU_.T() & gradU_) + + Ctau2_/fEta_*(fvc::grad(U) & T(fvc::grad(U))) + + Ctau3_/fEta_*(T(fvc::grad(U)) & fvc::grad(U)) ) ) ) @@ -323,16 +322,17 @@ void NonlinearKEShih::correct() return; } - gradU_ = fvc::grad(U_); + tmp tgradU = fvc::grad(U_); + const volTensorField& gradU = tgradU(); // generation term - tmp S2 = symm(gradU_) && gradU_; + tmp S2 = symm(gradU) && gradU; volScalarField G ( "RASModel::G", Cmu_*sqr(k_)/epsilon_*S2 - - (nonlinearStress_ && gradU_) + - (nonlinearStress_ && gradU) ); #include "nonLinearWallFunctionsI.H" @@ -375,8 +375,8 @@ void NonlinearKEShih::correct() // Re-calculate viscosity - eta_ = k_/epsilon_*sqrt(2.0*magSqr(0.5*(gradU_ + gradU_.T()))); - ksi_ = k_/epsilon_*sqrt(2.0*magSqr(0.5*(gradU_ - gradU_.T()))); + eta_ = k_/epsilon_*sqrt(2.0*magSqr(0.5*(gradU + T(gradU)))); + ksi_ = k_/epsilon_*sqrt(2.0*magSqr(0.5*(gradU - T(gradU)))); Cmu_ = 2.0/(3.0*(A1_ + eta_ + alphaKsi_*ksi_)); fEta_ = A2_ + pow(eta_, 3.0); @@ -390,11 +390,11 @@ void NonlinearKEShih::correct() *( Ctau1_/fEta_ *( - (gradU_ & gradU_) - + (gradU_ & gradU_)().T() + (gradU & gradU) + + (gradU & gradU)().T() ) - + Ctau2_/fEta_*(gradU_ & gradU_.T()) - + Ctau3_/fEta_*(gradU_.T() & gradU_) + + Ctau2_/fEta_*(gradU & T(gradU)) + + Ctau3_/fEta_*(T(gradU) & gradU) ) ); } diff --git a/src/turbulenceModels/incompressible/RAS/NonlinearKEShih/NonlinearKEShih.H b/src/turbulenceModels/incompressible/RAS/NonlinearKEShih/NonlinearKEShih.H index 9c18ab71e6..c7ad8a3713 100644 --- a/src/turbulenceModels/incompressible/RAS/NonlinearKEShih/NonlinearKEShih.H +++ b/src/turbulenceModels/incompressible/RAS/NonlinearKEShih/NonlinearKEShih.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-2012 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -82,7 +82,6 @@ protected: volScalarField k_; volScalarField epsilon_; - volTensorField gradU_; volScalarField eta_; volScalarField ksi_; volScalarField Cmu_; diff --git a/src/turbulenceModels/incompressible/RAS/include/nonLinearWallFunctionsI.H b/src/turbulenceModels/incompressible/RAS/include/nonLinearWallFunctionsI.H index 9489ad078f..f5be257291 100644 --- a/src/turbulenceModels/incompressible/RAS/include/nonLinearWallFunctionsI.H +++ b/src/turbulenceModels/incompressible/RAS/include/nonLinearWallFunctionsI.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-2012 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -104,7 +104,7 @@ Description *magFaceGradU[facei] *Cmu25*sqrt(k_[faceCelli]) /(kappa_.value()*y_[patchi][facei]) - - (nonlinearStress_[faceCelli] && gradU_[faceCelli]); + - (nonlinearStress_[faceCelli] && gradU[faceCelli]); } } } diff --git a/tutorials/multiphase/settlingFoam/ras/dahl/0/U b/tutorials/multiphase/settlingFoam/ras/dahl/0/U index 6c28fe2153..0e54934898 100644 --- a/tutorials/multiphase/settlingFoam/ras/dahl/0/U +++ b/tutorials/multiphase/settlingFoam/ras/dahl/0/U @@ -23,12 +23,13 @@ boundaryField inlet { type fixedValue; - value uniform (0.0191 0 0); + value $internalField; } outlet { - type zeroGradient; + type pressureInletOutletVelocity; + value uniform (0 0 0); } bottomWall diff --git a/tutorials/multiphase/settlingFoam/ras/dahl/0/alpha b/tutorials/multiphase/settlingFoam/ras/dahl/0/alpha index d79f19ac37..807802b1d1 100644 --- a/tutorials/multiphase/settlingFoam/ras/dahl/0/alpha +++ b/tutorials/multiphase/settlingFoam/ras/dahl/0/alpha @@ -23,12 +23,13 @@ boundaryField inlet { type fixedValue; - value uniform 0.001; + value $internalField; } outlet { - type zeroGradient; + type inletOutlet; + inletValue $internalField; } bottomWall diff --git a/tutorials/multiphase/settlingFoam/ras/dahl/0/epsilon b/tutorials/multiphase/settlingFoam/ras/dahl/0/epsilon index 04db1b80bd..c03c54f579 100644 --- a/tutorials/multiphase/settlingFoam/ras/dahl/0/epsilon +++ b/tutorials/multiphase/settlingFoam/ras/dahl/0/epsilon @@ -23,12 +23,13 @@ boundaryField inlet { type fixedValue; - value uniform 1.50919e-06; + value $internalField; } outlet { - type zeroGradient; + type inletOutlet; + inletValue $internalField; } bottomWall diff --git a/tutorials/multiphase/settlingFoam/ras/dahl/0/k b/tutorials/multiphase/settlingFoam/ras/dahl/0/k index 730c51945e..c4e854d357 100644 --- a/tutorials/multiphase/settlingFoam/ras/dahl/0/k +++ b/tutorials/multiphase/settlingFoam/ras/dahl/0/k @@ -23,12 +23,13 @@ boundaryField inlet { type fixedValue; - value uniform 0.00015; + value $internalField; } outlet { - type zeroGradient; + type inletOutlet; + inletValue $internalField; } bottomWall diff --git a/tutorials/multiphase/settlingFoam/ras/dahl/0/p_rgh b/tutorials/multiphase/settlingFoam/ras/dahl/0/p_rgh index f8bc427fd6..f289b34b7c 100644 --- a/tutorials/multiphase/settlingFoam/ras/dahl/0/p_rgh +++ b/tutorials/multiphase/settlingFoam/ras/dahl/0/p_rgh @@ -22,7 +22,8 @@ boundaryField { inlet { - type zeroGradient; + type buoyantPressure; + value uniform 0; } outlet @@ -39,7 +40,8 @@ boundaryField endWall { - type zeroGradient; + type buoyantPressure; + value uniform 0; } top diff --git a/tutorials/multiphase/settlingFoam/ras/dahl/constant/polyMesh/blockMeshDict b/tutorials/multiphase/settlingFoam/ras/dahl/constant/polyMesh/blockMeshDict index 69f0a9ceea..5e07da7098 100644 --- a/tutorials/multiphase/settlingFoam/ras/dahl/constant/polyMesh/blockMeshDict +++ b/tutorials/multiphase/settlingFoam/ras/dahl/constant/polyMesh/blockMeshDict @@ -63,7 +63,7 @@ boundary } bottomWall { - type patch; + type wall; faces ( (0 1 7 6) diff --git a/tutorials/multiphase/settlingFoam/ras/dahl/constant/polyMesh/boundary b/tutorials/multiphase/settlingFoam/ras/dahl/constant/polyMesh/boundary index 7970a504ca..35adf2fb7d 100644 --- a/tutorials/multiphase/settlingFoam/ras/dahl/constant/polyMesh/boundary +++ b/tutorials/multiphase/settlingFoam/ras/dahl/constant/polyMesh/boundary @@ -31,7 +31,7 @@ FoamFile } bottomWall { - type patch; + type wall; nFaces 200; startFace 15804; } diff --git a/tutorials/multiphase/settlingFoam/ras/dahl/constant/transportProperties b/tutorials/multiphase/settlingFoam/ras/dahl/constant/transportProperties index df420ab75e..ee877fce58 100644 --- a/tutorials/multiphase/settlingFoam/ras/dahl/constant/transportProperties +++ b/tutorials/multiphase/settlingFoam/ras/dahl/constant/transportProperties @@ -29,6 +29,8 @@ yieldStressExponent yieldStressExponent [ 0 0 0 0 0 0 0 ] 1050.8; yieldStressOffset yieldStressOffset [ 0 0 0 0 0 0 0 ] 0; +muMax muMax [ 1 -1 -1 0 0 0 0 ] 10.0; + rhoc rhoc [ 1 -3 0 0 0 0 0 ] 996; rhod rhod [ 1 -3 0 0 0 0 0 ] 1996; diff --git a/tutorials/multiphase/settlingFoam/ras/dahl/system/controlDict b/tutorials/multiphase/settlingFoam/ras/dahl/system/controlDict index 8e5f8c2f55..6c82463863 100644 --- a/tutorials/multiphase/settlingFoam/ras/dahl/system/controlDict +++ b/tutorials/multiphase/settlingFoam/ras/dahl/system/controlDict @@ -27,7 +27,7 @@ endTime 6400; deltaT 0.1; -writeControl runTime; +writeControl adjustableRunTime; writeInterval 20; @@ -45,4 +45,10 @@ timePrecision 6; runTimeModifiable yes; +adjustTimeStep on; + +maxCo 0.5; + +maxDeltaT 1; + // ************************************************************************* // diff --git a/tutorials/multiphase/settlingFoam/ras/dahl/system/fvSchemes b/tutorials/multiphase/settlingFoam/ras/dahl/system/fvSchemes index 65b5f239ef..bfdc69ada0 100644 --- a/tutorials/multiphase/settlingFoam/ras/dahl/system/fvSchemes +++ b/tutorials/multiphase/settlingFoam/ras/dahl/system/fvSchemes @@ -28,9 +28,9 @@ gradSchemes divSchemes { default none; - div(phi,U) Gauss limitedLinearV 1; - div(phi,k) Gauss limitedLinear 1; - div(phi,epsilon) Gauss limitedLinear 1; + div(phi,U) Gauss linearUpwind grad(U); + div(phi,k) Gauss upwind; + div(phi,epsilon) Gauss upwind; div(phiAlpha,Alpha) Gauss limitedLinear01 1; div(phiVdj,Vdj) Gauss linear; } diff --git a/tutorials/multiphase/settlingFoam/ras/dahl/system/fvSolution b/tutorials/multiphase/settlingFoam/ras/dahl/system/fvSolution index 23cda1f165..892618eaee 100644 --- a/tutorials/multiphase/settlingFoam/ras/dahl/system/fvSolution +++ b/tutorials/multiphase/settlingFoam/ras/dahl/system/fvSolution @@ -36,14 +36,14 @@ solvers { solver PBiCG; preconditioner DILU; - tolerance 1e-07; + tolerance 1e-8; relTol 0.1; } "(U|Alpha|k|epsilon)Final" { $k; - tolerance 1e-07; + tolerance 1e-8; relTol 0; } @@ -51,21 +51,21 @@ solvers { solver PCG; preconditioner DIC; - tolerance 1e-07; + tolerance 1e-8; relTol 0.1; } rhoFinal { $rho; - tolerance 1e-07; + tolerance 1e-8; relTol 0; } } PIMPLE { - nCorrectors 2; + nCorrectors 3; nNonOrthogonalCorrectors 0; } @@ -76,6 +76,7 @@ relaxationFactors } equations { + "Alpha.*" 1; "U.*" 1; "k.*" 1; "epsilon.*" 1; diff --git a/tutorials/multiphase/settlingFoam/ras/tank3D/constant/transportProperties b/tutorials/multiphase/settlingFoam/ras/tank3D/constant/transportProperties index 559067579f..ac45d4a30b 100644 --- a/tutorials/multiphase/settlingFoam/ras/tank3D/constant/transportProperties +++ b/tutorials/multiphase/settlingFoam/ras/tank3D/constant/transportProperties @@ -29,6 +29,8 @@ yieldStressExponent yieldStressExponent [ 0 0 0 0 0 0 0 ] 95.25; yieldStressOffset yieldStressOffset [ 0 0 0 0 0 0 0 ] 0; +muMax muMax [ 1 -1 -1 0 0 0 0 ] 10.0; + rhoc rhoc [ 1 -3 0 0 0 0 0 ] 1000; rhod rhod [ 1 -3 0 0 0 0 0 ] 1042; diff --git a/tutorials/multiphase/settlingFoam/ras/tank3D/system/fvSolution b/tutorials/multiphase/settlingFoam/ras/tank3D/system/fvSolution index 23cda1f165..a399939cc3 100644 --- a/tutorials/multiphase/settlingFoam/ras/tank3D/system/fvSolution +++ b/tutorials/multiphase/settlingFoam/ras/tank3D/system/fvSolution @@ -76,6 +76,7 @@ relaxationFactors } equations { + "Alpha.*" 1; "U.*" 1; "k.*" 1; "epsilon.*" 1; diff --git a/wmake/rules/linux64Gcc/c++Opt b/wmake/rules/linux64Gcc/c++Opt index 3363be8090..a0fae531b8 100644 --- a/wmake/rules/linux64Gcc/c++Opt +++ b/wmake/rules/linux64Gcc/c++Opt @@ -1,3 +1,3 @@ -#c++DBUG = -O0 -DFULLDEBUG -g c++DBUG = c++OPT = -O3 +# -fprefetch-loop-arrays diff --git a/wmake/rules/linux64Gcc/cOpt b/wmake/rules/linux64Gcc/cOpt index 17318709f1..980f0ea46a 100644 --- a/wmake/rules/linux64Gcc/cOpt +++ b/wmake/rules/linux64Gcc/cOpt @@ -1,2 +1,3 @@ cDBUG = cOPT = -O3 +# -fprefetch-loop-arrays diff --git a/wmake/rules/linuxARM7Gcc/c++Opt b/wmake/rules/linuxARM7Gcc/c++Opt index f671fe305b..a9c0f51238 100644 --- a/wmake/rules/linuxARM7Gcc/c++Opt +++ b/wmake/rules/linuxARM7Gcc/c++Opt @@ -1,3 +1,3 @@ c++DBUG = -#c++OPT = -O3 -floop-optimize -falign-loops -falign-labels -falign-functions -falign-jumps -mcpu=cortex-a9 -mfpu=vfpv3-d16 -mfloat-abi=hard -c++OPT = -O3 -floop-optimize -falign-loops -falign-labels -falign-functions -falign-jumps -mcpu=cortex-a9 -mfpu=vfpv3-d16 -mcpu=cortex-a9 -mfpu=vfpv3-d16 -mfloat-abi=softfp +#c++OPT = -O3 -floop-optimize -falign-loops -falign-labels -falign-functions -falign-jumps -fprefetch-loop-arrays -mcpu=cortex-a9 -mfpu=vfpv3-d16 -mfloat-abi=hard +c++OPT = -O3 -floop-optimize -falign-loops -falign-labels -falign-functions -falign-jumps -fprefetch-loop-arrays -mcpu=cortex-a9 -mfpu=vfpv3-d16 -mfloat-abi=softfp diff --git a/wmake/rules/linuxARM7Gcc/cOpt b/wmake/rules/linuxARM7Gcc/cOpt index 7679006dd3..0ee3f66355 100644 --- a/wmake/rules/linuxARM7Gcc/cOpt +++ b/wmake/rules/linuxARM7Gcc/cOpt @@ -1,3 +1,3 @@ cDBUG = -#cOPT = -O3 -floop-optimize -falign-loops -falign-labels -falign-functions -falign-jumps -mcpu=cortex-a9 -mfpu=vfpv3-d16 -mfloat-abi=hard -cOPT = -O3 -floop-optimize -falign-loops -falign-labels -falign-functions -falign-jumps -mcpu=cortex-a9 -mfpu=vfpv3-d16 -mcpu=cortex-a9 -mfpu=vfpv3-d16 -mfloat-abi=softfp +#cOPT = -O3 -floop-optimize -falign-loops -falign-labels -falign-functions -falign-jumps -fprefetch-loop-arrays -mcpu=cortex-a9 -mfpu=vfpv3-d16 -mfloat-abi=hard +cOPT = -O3 -floop-optimize -falign-loops -falign-labels -falign-functions -falign-jumps -fprefetch-loop-arrays -mcpu=cortex-a9 -mfpu=vfpv3-d16 -mfloat-abi=softfp