diff --git a/applications/solvers/DNS/dnsFoam/dnsFoam.C b/applications/solvers/DNS/dnsFoam/dnsFoam.C index eb1e69c41b..34f212bc4d 100644 --- a/applications/solvers/DNS/dnsFoam/dnsFoam.C +++ b/applications/solvers/DNS/dnsFoam/dnsFoam.C @@ -85,15 +85,15 @@ int main(int argc, char *argv[]) for (int corr=1; corr<=1; corr++) { - volScalarField rUA = 1.0/UEqn.A(); + volScalarField rAU = 1.0/UEqn.A(); - U = rUA*UEqn.H(); + U = rAU*UEqn.H(); phi = (fvc::interpolate(U) & mesh.Sf()) - + fvc::ddtPhiCorr(rUA, U, phi); + + fvc::ddtPhiCorr(rAU, U, phi); fvScalarMatrix pEqn ( - fvm::laplacian(rUA, p) == fvc::div(phi) + fvm::laplacian(rAU, p) == fvc::div(phi) ); pEqn.solve(); @@ -102,7 +102,7 @@ int main(int argc, char *argv[]) #include "continuityErrs.H" - U -= rUA*fvc::grad(p); + U -= rAU*fvc::grad(p); U.correctBoundaryConditions(); } diff --git a/applications/solvers/combustion/PDRFoam/pEqn.H b/applications/solvers/combustion/PDRFoam/pEqn.H index 524c8eac74..9042837f54 100644 --- a/applications/solvers/combustion/PDRFoam/pEqn.H +++ b/applications/solvers/combustion/PDRFoam/pEqn.H @@ -1,6 +1,6 @@ rho = thermo.rho(); -volScalarField rUA = 1.0/UEqn.A(); +volScalarField rAU = 1.0/UEqn.A(); U = invA & UEqn.H(); if (transonic) @@ -11,7 +11,7 @@ if (transonic) fvc::interpolate(psi) *( (fvc::interpolate(U) & mesh.Sf()) - + fvc::ddtPhiCorr(rUA, rho, U, phi) + + fvc::ddtPhiCorr(rAU, rho, U, phi) ) ); @@ -38,7 +38,7 @@ else fvc::interpolate(rho)* ( (fvc::interpolate(U) & mesh.Sf()) - + fvc::ddtPhiCorr(rUA, rho, U, phi) + + fvc::ddtPhiCorr(rAU, rho, U, phi) ); for (int nonOrth=0; nonOrth<=nNonOrthCorr; nonOrth++) diff --git a/applications/solvers/combustion/XiFoam/pEqn.H b/applications/solvers/combustion/XiFoam/pEqn.H index 9443f909a3..3d414f4af6 100644 --- a/applications/solvers/combustion/XiFoam/pEqn.H +++ b/applications/solvers/combustion/XiFoam/pEqn.H @@ -1,7 +1,7 @@ rho = thermo.rho(); -volScalarField rUA = 1.0/UEqn.A(); -U = rUA*UEqn.H(); +volScalarField rAU = 1.0/UEqn.A(); +U = rAU*UEqn.H(); if (transonic) { @@ -11,7 +11,7 @@ if (transonic) fvc::interpolate(psi) *( (fvc::interpolate(U) & mesh.Sf()) - + fvc::ddtPhiCorr(rUA, rho, U, phi) + + fvc::ddtPhiCorr(rAU, rho, U, phi) ) ); @@ -21,7 +21,7 @@ if (transonic) ( fvm::ddt(psi, p) + fvm::div(phid, p) - - fvm::laplacian(rho*rUA, p) + - fvm::laplacian(rho*rAU, p) ); pEqn.solve(); @@ -38,7 +38,7 @@ else fvc::interpolate(rho) *( (fvc::interpolate(U) & mesh.Sf()) - + fvc::ddtPhiCorr(rUA, rho, U, phi) + + fvc::ddtPhiCorr(rAU, rho, U, phi) ); for (int nonOrth=0; nonOrth<=nNonOrthCorr; nonOrth++) @@ -47,7 +47,7 @@ else ( fvm::ddt(psi, p) + fvc::div(phi) - - fvm::laplacian(rho*rUA, p) + - fvm::laplacian(rho*rAU, p) ); pEqn.solve(); @@ -62,7 +62,7 @@ else #include "rhoEqn.H" #include "compressibleContinuityErrs.H" -U -= rUA*fvc::grad(p); +U -= rAU*fvc::grad(p); U.correctBoundaryConditions(); DpDt = fvc::DDt(surfaceScalarField("phiU", phi/fvc::interpolate(rho)), p); diff --git a/applications/solvers/combustion/dieselFoam/pEqn.H b/applications/solvers/combustion/dieselFoam/pEqn.H index d74947fe53..f1b66877a0 100644 --- a/applications/solvers/combustion/dieselFoam/pEqn.H +++ b/applications/solvers/combustion/dieselFoam/pEqn.H @@ -1,7 +1,7 @@ rho = thermo.rho(); -volScalarField rUA = 1.0/UEqn.A(); -U = rUA*UEqn.H(); +volScalarField rAU = 1.0/UEqn.A(); +U = rAU*UEqn.H(); if (transonic) { @@ -11,7 +11,7 @@ if (transonic) fvc::interpolate(psi) *( (fvc::interpolate(U) & mesh.Sf()) - + fvc::ddtPhiCorr(rUA, rho, U, phi) + + fvc::ddtPhiCorr(rAU, rho, U, phi) ) ); @@ -21,7 +21,7 @@ if (transonic) ( fvm::ddt(psi, p) + fvm::div(phid, p) - - fvm::laplacian(rho*rUA, p) + - fvm::laplacian(rho*rAU, p) == Sevap ); @@ -40,7 +40,7 @@ else fvc::interpolate(rho) *( (fvc::interpolate(U) & mesh.Sf()) - + fvc::ddtPhiCorr(rUA, rho, U, phi) + + fvc::ddtPhiCorr(rAU, rho, U, phi) ); for (int nonOrth=0; nonOrth<=nNonOrthCorr; nonOrth++) @@ -49,7 +49,7 @@ else ( fvm::ddt(psi, p) + fvc::div(phi) - - fvm::laplacian(rho*rUA, p) + - fvm::laplacian(rho*rAU, p) == Sevap ); @@ -66,7 +66,7 @@ else #include "rhoEqn.H" #include "compressibleContinuityErrs.H" -U -= rUA*fvc::grad(p); +U -= rAU*fvc::grad(p); U.correctBoundaryConditions(); DpDt = fvc::DDt(surfaceScalarField("phiU", phi/fvc::interpolate(rho)), p); diff --git a/applications/solvers/combustion/engineFoam/pEqn.H b/applications/solvers/combustion/engineFoam/pEqn.H index 39b4967312..913180f794 100644 --- a/applications/solvers/combustion/engineFoam/pEqn.H +++ b/applications/solvers/combustion/engineFoam/pEqn.H @@ -1,7 +1,7 @@ rho = thermo.rho(); -volScalarField rUA = 1.0/UEqn.A(); -U = rUA*UEqn.H(); +volScalarField rAU = 1.0/UEqn.A(); +U = rAU*UEqn.H(); if (transonic) { @@ -18,7 +18,7 @@ if (transonic) ( fvm::ddt(psi, p) + fvm::div(phid, p, "div(phid,p)") - - fvm::laplacian(rho*rUA, p) + - fvm::laplacian(rho*rAU, p) ); pEqn.solve(); @@ -40,7 +40,7 @@ else ( fvm::ddt(psi, p) + fvc::div(phi) - - fvm::laplacian(rho*rUA, p) + - fvm::laplacian(rho*rAU, p) ); pEqn.solve(); @@ -55,7 +55,7 @@ else #include "rhoEqn.H" #include "compressibleContinuityErrs.H" -U -= rUA*fvc::grad(p); +U -= rAU*fvc::grad(p); U.correctBoundaryConditions(); DpDt = fvc::DDt(surfaceScalarField("phiU", phi/fvc::interpolate(rho)), p); diff --git a/applications/solvers/combustion/fireFoam/pEqn.H b/applications/solvers/combustion/fireFoam/pEqn.H index b31a7c6636..135b55d879 100644 --- a/applications/solvers/combustion/fireFoam/pEqn.H +++ b/applications/solvers/combustion/fireFoam/pEqn.H @@ -1,29 +1,29 @@ rho = thermo.rho(); -volScalarField rUA = 1.0/UEqn.A(); -surfaceScalarField rhorUAf("(rho*(1|A(U)))", fvc::interpolate(rho*rUA)); -U = rUA*UEqn.H(); +volScalarField rAU = 1.0/UEqn.A(); +surfaceScalarField rhorAUf("(rho*(1|A(U)))", fvc::interpolate(rho*rAU)); +U = rAU*UEqn.H(); surfaceScalarField phiU ( fvc::interpolate(rho) *( (fvc::interpolate(U) & mesh.Sf()) - + fvc::ddtPhiCorr(rUA, rho, U, phi) + + fvc::ddtPhiCorr(rAU, rho, U, phi) ) ); -phi = phiU - rhorUAf*ghf*fvc::snGrad(rho)*mesh.magSf(); +phi = phiU - rhorAUf*ghf*fvc::snGrad(rho)*mesh.magSf(); for (int nonOrth=0; nonOrth<=nNonOrthCorr; nonOrth++) { - surfaceScalarField rhorUAf = fvc::interpolate(rho*rUA); + surfaceScalarField rhorAUf = fvc::interpolate(rho*rAU); fvScalarMatrix p_rghEqn ( fvm::ddt(psi, p_rgh) + fvc::ddt(psi, rho)*gh + fvc::div(phi) - - fvm::laplacian(rhorUAf, p_rgh) + - fvm::laplacian(rhorAUf, p_rgh) ); p_rghEqn.solve @@ -52,7 +52,7 @@ p = p_rgh + rho*gh; #include "rhoEqn.H" #include "compressibleContinuityErrs.H" -U += rUA*fvc::reconstruct((phi - phiU)/rhorUAf); +U += rAU*fvc::reconstruct((phi - phiU)/rhorAUf); U.correctBoundaryConditions(); DpDt = fvc::DDt(surfaceScalarField("phiU", phi/fvc::interpolate(rho)), p); diff --git a/applications/solvers/combustion/reactingFoam/pEqn.H b/applications/solvers/combustion/reactingFoam/pEqn.H index 9443f909a3..3d414f4af6 100644 --- a/applications/solvers/combustion/reactingFoam/pEqn.H +++ b/applications/solvers/combustion/reactingFoam/pEqn.H @@ -1,7 +1,7 @@ rho = thermo.rho(); -volScalarField rUA = 1.0/UEqn.A(); -U = rUA*UEqn.H(); +volScalarField rAU = 1.0/UEqn.A(); +U = rAU*UEqn.H(); if (transonic) { @@ -11,7 +11,7 @@ if (transonic) fvc::interpolate(psi) *( (fvc::interpolate(U) & mesh.Sf()) - + fvc::ddtPhiCorr(rUA, rho, U, phi) + + fvc::ddtPhiCorr(rAU, rho, U, phi) ) ); @@ -21,7 +21,7 @@ if (transonic) ( fvm::ddt(psi, p) + fvm::div(phid, p) - - fvm::laplacian(rho*rUA, p) + - fvm::laplacian(rho*rAU, p) ); pEqn.solve(); @@ -38,7 +38,7 @@ else fvc::interpolate(rho) *( (fvc::interpolate(U) & mesh.Sf()) - + fvc::ddtPhiCorr(rUA, rho, U, phi) + + fvc::ddtPhiCorr(rAU, rho, U, phi) ); for (int nonOrth=0; nonOrth<=nNonOrthCorr; nonOrth++) @@ -47,7 +47,7 @@ else ( fvm::ddt(psi, p) + fvc::div(phi) - - fvm::laplacian(rho*rUA, p) + - fvm::laplacian(rho*rAU, p) ); pEqn.solve(); @@ -62,7 +62,7 @@ else #include "rhoEqn.H" #include "compressibleContinuityErrs.H" -U -= rUA*fvc::grad(p); +U -= rAU*fvc::grad(p); U.correctBoundaryConditions(); DpDt = fvc::DDt(surfaceScalarField("phiU", phi/fvc::interpolate(rho)), p); diff --git a/applications/solvers/combustion/rhoReactingFoam/pEqn.H b/applications/solvers/combustion/rhoReactingFoam/pEqn.H index c76ab5110b..45ae3c1e5f 100644 --- a/applications/solvers/combustion/rhoReactingFoam/pEqn.H +++ b/applications/solvers/combustion/rhoReactingFoam/pEqn.H @@ -5,14 +5,14 @@ // pressure solution - done in 2 parts. Part 1: thermo.rho() -= psi*p; - volScalarField rUA = 1.0/UEqn.A(); - U = rUA*UEqn.H(); + volScalarField rAU = 1.0/UEqn.A(); + U = rAU*UEqn.H(); if (transonic) { surfaceScalarField phiv = (fvc::interpolate(U) & mesh.Sf()) - + fvc::ddtPhiCorr(rUA, rho, U, phi); + + fvc::ddtPhiCorr(rAU, rho, U, phi); phi = fvc::interpolate(rho)*phiv; @@ -28,7 +28,7 @@ ( fvc::ddt(rho) + fvc::div(phi) + correction(fvm::ddt(psi, p) + fvm::div(phid, p)) - - fvm::laplacian(rho*rUA, p) + - fvm::laplacian(rho*rAU, p) ); pEqn.solve @@ -58,7 +58,7 @@ fvc::interpolate(rho) *( (fvc::interpolate(U) & mesh.Sf()) - + fvc::ddtPhiCorr(rUA, rho, U, phi) + + fvc::ddtPhiCorr(rAU, rho, U, phi) ); for (int nonOrth=0; nonOrth<=nNonOrthCorr; nonOrth++) @@ -67,7 +67,7 @@ ( fvc::ddt(rho) + psi*correction(fvm::ddt(p)) + fvc::div(phi) - - fvm::laplacian(rho*rUA, p) + - fvm::laplacian(rho*rAU, p) ); pEqn.solve @@ -98,7 +98,7 @@ #include "rhoEqn.H" #include "compressibleContinuityErrs.H" - U -= rUA*fvc::grad(p); + U -= rAU*fvc::grad(p); U.correctBoundaryConditions(); DpDt = fvc::DDt(surfaceScalarField("phiU", phi/fvc::interpolate(rho)), p); diff --git a/applications/solvers/compressible/rhoPimpleFoam/UEqn.H b/applications/solvers/compressible/rhoPimpleFoam/UEqn.H index 954907d203..45aa8f7790 100644 --- a/applications/solvers/compressible/rhoPimpleFoam/UEqn.H +++ b/applications/solvers/compressible/rhoPimpleFoam/UEqn.H @@ -9,7 +9,7 @@ tmp UEqn UEqn().relax(); -volScalarField rUA = 1.0/UEqn().A(); +volScalarField rAU = 1.0/UEqn().A(); if (momentumPredictor) { @@ -17,6 +17,6 @@ if (momentumPredictor) } else { - U = rUA*(UEqn().H() - fvc::grad(p)); + U = rAU*(UEqn().H() - fvc::grad(p)); U.correctBoundaryConditions(); } diff --git a/applications/solvers/compressible/rhoPimpleFoam/pEqn.H b/applications/solvers/compressible/rhoPimpleFoam/pEqn.H index c0dba194e7..84e6451890 100644 --- a/applications/solvers/compressible/rhoPimpleFoam/pEqn.H +++ b/applications/solvers/compressible/rhoPimpleFoam/pEqn.H @@ -1,6 +1,6 @@ rho = thermo.rho(); -U = rUA*UEqn().H(); +U = rAU*UEqn().H(); if (nCorr <= 1) { @@ -15,7 +15,7 @@ if (transonic) fvc::interpolate(psi) *( (fvc::interpolate(U) & mesh.Sf()) - + fvc::ddtPhiCorr(rUA, rho, U, phi) + + fvc::ddtPhiCorr(rAU, rho, U, phi) ) ); @@ -25,7 +25,7 @@ if (transonic) ( fvm::ddt(psi, p) + fvm::div(phid, p) - - fvm::laplacian(rho*rUA, p) + - fvm::laplacian(rho*rAU, p) ); pEqn.solve @@ -55,7 +55,7 @@ else fvc::interpolate(rho)* ( (fvc::interpolate(U) & mesh.Sf()) - + fvc::ddtPhiCorr(rUA, rho, U, phi) + + fvc::ddtPhiCorr(rAU, rho, U, phi) ); for (int nonOrth=0; nonOrth<=nNonOrthCorr; nonOrth++) @@ -65,7 +65,7 @@ else ( fvm::ddt(psi, p) + fvc::div(phi) - - fvm::laplacian(rho*rUA, p) + - fvm::laplacian(rho*rAU, p) ); pEqn.solve @@ -101,7 +101,7 @@ rho = thermo.rho(); Info<< "rho max/min : " << max(rho).value() << " " << min(rho).value() << endl; -U -= rUA*fvc::grad(p); +U -= rAU*fvc::grad(p); U.correctBoundaryConditions(); DpDt = fvc::DDt(surfaceScalarField("phiU", phi/fvc::interpolate(rho)), p); diff --git a/applications/solvers/compressible/rhoPorousMRFPimpleFoam/UEqn.H b/applications/solvers/compressible/rhoPorousMRFPimpleFoam/UEqn.H index a331d7dbb8..0b0364b706 100644 --- a/applications/solvers/compressible/rhoPorousMRFPimpleFoam/UEqn.H +++ b/applications/solvers/compressible/rhoPorousMRFPimpleFoam/UEqn.H @@ -12,7 +12,7 @@ UEqn().relax(); mrfZones.addCoriolis(rho, UEqn()); pZones.addResistance(UEqn()); -volScalarField rUA = 1.0/UEqn().A(); +volScalarField rAU = 1.0/UEqn().A(); if (momentumPredictor) { @@ -20,6 +20,6 @@ if (momentumPredictor) } else { - U = rUA*(UEqn().H() - fvc::grad(p)); + U = rAU*(UEqn().H() - fvc::grad(p)); U.correctBoundaryConditions(); } diff --git a/applications/solvers/compressible/rhoPorousMRFPimpleFoam/pEqn.H b/applications/solvers/compressible/rhoPorousMRFPimpleFoam/pEqn.H index 6be6584202..590a3c1950 100644 --- a/applications/solvers/compressible/rhoPorousMRFPimpleFoam/pEqn.H +++ b/applications/solvers/compressible/rhoPorousMRFPimpleFoam/pEqn.H @@ -1,7 +1,7 @@ rho = thermo.rho(); -volScalarField rUA = 1.0/UEqn().A(); -U = rUA*UEqn().H(); +volScalarField rAU = 1.0/UEqn().A(); +U = rAU*UEqn().H(); if (nCorr <= 1) { @@ -16,7 +16,7 @@ if (transonic) fvc::interpolate(psi) *( (fvc::interpolate(U) & mesh.Sf()) - + fvc::ddtPhiCorr(rUA, rho, U, phi) + + fvc::ddtPhiCorr(rAU, rho, U, phi) ) ); mrfZones.relativeFlux(fvc::interpolate(psi), phid); @@ -27,7 +27,7 @@ if (transonic) ( fvm::ddt(psi, p) + fvm::div(phid, p) - - fvm::laplacian(rho*rUA, p) + - fvm::laplacian(rho*rAU, p) ); pEqn.solve @@ -57,7 +57,7 @@ else fvc::interpolate(rho)* ( (fvc::interpolate(U) & mesh.Sf()) - //+ fvc::ddtPhiCorr(rUA, rho, U, phi) + //+ fvc::ddtPhiCorr(rAU, rho, U, phi) ); mrfZones.relativeFlux(fvc::interpolate(rho), phi); @@ -68,7 +68,7 @@ else ( fvm::ddt(psi, p) + fvc::div(phi) - - fvm::laplacian(rho*rUA, p) + - fvm::laplacian(rho*rAU, p) ); pEqn.solve @@ -109,7 +109,7 @@ else << " " << min(rho).value() << endl; } -U -= rUA*fvc::grad(p); +U -= rAU*fvc::grad(p); U.correctBoundaryConditions(); DpDt = fvc::DDt(surfaceScalarField("phiU", phi/fvc::interpolate(rho)), p); diff --git a/applications/solvers/compressible/rhoSimpleFoam/pEqn.H b/applications/solvers/compressible/rhoSimpleFoam/pEqn.H index 96d8280559..a082cac880 100644 --- a/applications/solvers/compressible/rhoSimpleFoam/pEqn.H +++ b/applications/solvers/compressible/rhoSimpleFoam/pEqn.H @@ -3,8 +3,8 @@ rho = max(rho, rhoMin); rho = min(rho, rhoMax); rho.relax(); -volScalarField rUA = 1.0/UEqn().A(); -U = rUA*UEqn().H(); +volScalarField rAU = 1.0/UEqn().A(); +U = rAU*UEqn().H(); UEqn.clear(); bool closedVolume = false; @@ -22,7 +22,7 @@ if (transonic) fvScalarMatrix pEqn ( fvm::div(phid, p) - - fvm::laplacian(rho*rUA, p) + - fvm::laplacian(rho*rAU, p) ); // Relax the pressure equation to ensure diagonal-dominance @@ -47,7 +47,7 @@ else { fvScalarMatrix pEqn ( - fvm::laplacian(rho*rUA, p) == fvc::div(phi) + fvm::laplacian(rho*rAU, p) == fvc::div(phi) ); pEqn.setReference(pRefCell, pRefValue); @@ -67,7 +67,7 @@ else // Explicitly relax pressure for momentum corrector p.relax(); -U -= rUA*fvc::grad(p); +U -= rAU*fvc::grad(p); U.correctBoundaryConditions(); // For closed-volume cases adjust the pressure and density levels diff --git a/applications/solvers/compressible/rhoSonicFoam/Make/files b/applications/solvers/compressible/rhoSonicFoam/Make/files deleted file mode 100644 index 96e7916887..0000000000 --- a/applications/solvers/compressible/rhoSonicFoam/Make/files +++ /dev/null @@ -1,3 +0,0 @@ -rhoSonicFoam.C - -EXE = $(FOAM_APPBIN)/rhoSonicFoam diff --git a/applications/solvers/compressible/rhoSonicFoam/Make/options b/applications/solvers/compressible/rhoSonicFoam/Make/options deleted file mode 100644 index 725122ea1d..0000000000 --- a/applications/solvers/compressible/rhoSonicFoam/Make/options +++ /dev/null @@ -1,4 +0,0 @@ -EXE_INC = \ - -I$(LIB_SRC)/finiteVolume/lnInclude - -EXE_LIBS = -lfiniteVolume diff --git a/applications/solvers/compressible/rhoSonicFoam/compressibleContinuityErrs.H b/applications/solvers/compressible/rhoSonicFoam/compressibleContinuityErrs.H deleted file mode 100644 index 128d99c946..0000000000 --- a/applications/solvers/compressible/rhoSonicFoam/compressibleContinuityErrs.H +++ /dev/null @@ -1,12 +0,0 @@ -{ -# include "rhoEqn.H" -} -{ - scalar sumLocalContErr = (sum(mag(rho - psi*p))/sum(rho)).value(); - scalar globalContErr = (sum(rho - psi*p)/sum(rho)).value(); - cumulativeContErr += globalContErr; - - Info<< "time step continuity errors : sum local = " << sumLocalContErr - << ", global = " << globalContErr - << ", cumulative = " << cumulativeContErr << endl; -} diff --git a/applications/solvers/compressible/rhoSonicFoam/createFields.H b/applications/solvers/compressible/rhoSonicFoam/createFields.H deleted file mode 100644 index f0c0e4a22a..0000000000 --- a/applications/solvers/compressible/rhoSonicFoam/createFields.H +++ /dev/null @@ -1,96 +0,0 @@ - Info<< "Reading field p\n" << endl; - volScalarField p - ( - IOobject - ( - "p", - runTime.timeName(), - mesh, - IOobject::MUST_READ, - IOobject::AUTO_WRITE - ), - mesh - ); - - - Info<< "Reading field T\n" << endl; - volScalarField T - ( - IOobject - ( - "T", - runTime.timeName(), - mesh, - IOobject::MUST_READ, - IOobject::AUTO_WRITE - ), - mesh - ); - - Info<< "Reading field U\n" << endl; - volVectorField U - ( - IOobject - ( - "U", - runTime.timeName(), - mesh, - IOobject::MUST_READ, - IOobject::AUTO_WRITE - ), - mesh - ); - - volScalarField psi - ( - IOobject - ( - "psi", - runTime.timeName(), - mesh, - IOobject::NO_READ, - IOobject::NO_WRITE - ), - 1.0/(R*T) - ); - psi.oldTime(); - - volScalarField rho - ( - IOobject - ( - "rho", - runTime.timeName(), - mesh - ), - psi*p, - p.boundaryField().types() - ); - - volVectorField rhoU - ( - IOobject - ( - "rhoU", - runTime.timeName(), - mesh, - IOobject::NO_READ, - IOobject::NO_WRITE - ), - rho*U, - U.boundaryField().types() - ); - - volScalarField rhoE - ( - IOobject - ( - "rhoE", - runTime.timeName(), - mesh, - IOobject::NO_READ, - IOobject::NO_WRITE - ), - rho*Cv*T + 0.5*rho*magSqr(rhoU/rho), - T.boundaryField().types() - ); diff --git a/applications/solvers/compressible/rhoSonicFoam/readThermodynamicProperties.H b/applications/solvers/compressible/rhoSonicFoam/readThermodynamicProperties.H deleted file mode 100644 index 4e19adaae4..0000000000 --- a/applications/solvers/compressible/rhoSonicFoam/readThermodynamicProperties.H +++ /dev/null @@ -1,23 +0,0 @@ - Info<< "Reading thermodynamicProperties\n" << endl; - - IOdictionary thermodynamicProperties - ( - IOobject - ( - "thermodynamicProperties", - runTime.constant(), - mesh, - IOobject::MUST_READ_IF_MODIFIED, - IOobject::NO_WRITE - ) - ); - - dimensionedScalar R - ( - thermodynamicProperties.lookup("R") - ); - - dimensionedScalar Cv - ( - thermodynamicProperties.lookup("Cv") - ); diff --git a/applications/solvers/compressible/rhoSonicFoam/rhoSonicFoam.C b/applications/solvers/compressible/rhoSonicFoam/rhoSonicFoam.C deleted file mode 100644 index 23936fc2c4..0000000000 --- a/applications/solvers/compressible/rhoSonicFoam/rhoSonicFoam.C +++ /dev/null @@ -1,129 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. - \\/ M anipulation | -------------------------------------------------------------------------------- -License - This file is part of OpenFOAM. - - OpenFOAM is free software: you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - OpenFOAM is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - for more details. - - You should have received a copy of the GNU General Public License - along with OpenFOAM. If not, see . - -Application - rhoSonicFoam - -Description - Density-based compressible flow solver. - -\*---------------------------------------------------------------------------*/ - -#include "fvCFD.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -int main(int argc, char *argv[]) -{ - -# include "setRootCase.H" -# include "createTime.H" -# include "createMesh.H" -# include "readThermodynamicProperties.H" -# include "createFields.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - - Info<< "\nStarting time loop\n" << endl; - - while (runTime.loop()) - { - Info<< "Time = " << runTime.timeName() << nl << endl; - - surfaceScalarField phiv - ( - IOobject - ( - "phiv", - runTime.timeName(), - mesh, - IOobject::NO_READ, - IOobject::NO_WRITE - ), - fvc::interpolate(rhoU)/fvc::interpolate(rho) & mesh.Sf() - ); - - scalar CoNum = max - ( - mesh.surfaceInterpolation::deltaCoeffs() - *mag(phiv)/mesh.magSf() - ).value()*runTime.deltaTValue(); - - Info<< "\nMax Courant Number = " << CoNum << endl; - - solve - ( - fvm::ddt(rho) - + fvm::div(phiv, rho) - ); - - p = rho/psi; - - solve - ( - fvm::ddt(rhoU) - + fvm::div(phiv, rhoU) - == - - fvc::grad(p) - ); - - U == rhoU/rho; - - surfaceScalarField phiv2 - ( - IOobject - ( - "phiv2", - runTime.timeName(), - mesh, - IOobject::NO_READ, - IOobject::NO_WRITE - ), - fvc::interpolate(rhoU)/fvc::interpolate(rho) & mesh.Sf() - ); - - solve - ( - fvm::ddt(rhoE) - + fvm::div(phiv, rhoE) - == - - fvc::div(phiv2, p) - ); - - T = (rhoE - 0.5*rho*magSqr(rhoU/rho))/Cv/rho; - psi = 1.0/(R*T); - - runTime.write(); - - Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s" - << " ClockTime = " << runTime.elapsedClockTime() << " s" - << nl << endl; - } - - Info<< "End\n" << endl; - - return 0; -} - - -// ************************************************************************* // diff --git a/applications/solvers/compressible/rhopSonicFoam/Allwmake b/applications/solvers/compressible/rhopSonicFoam/Allwmake deleted file mode 100755 index 5f01d96a75..0000000000 --- a/applications/solvers/compressible/rhopSonicFoam/Allwmake +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh -cd ${0%/*} || exit 1 # run from this directory -set -x - -wmake libso BCs -wmake - -# ----------------------------------------------------------------- end-of-file diff --git a/applications/solvers/compressible/rhopSonicFoam/BCs/Make/files b/applications/solvers/compressible/rhopSonicFoam/BCs/Make/files deleted file mode 100644 index 3931413eae..0000000000 --- a/applications/solvers/compressible/rhopSonicFoam/BCs/Make/files +++ /dev/null @@ -1,8 +0,0 @@ -rho/fixedRhoFvPatchScalarField.C -rho/gradientRhoFvPatchScalarField.C -rhoE/fixedRhoEFvPatchScalarField.C -rhoE/mixedRhoEFvPatchScalarField.C -rhoU/fixedRhoUFvPatchVectorField.C -p/inviscidWallPFvPatchScalarField.C - -LIB = $(FOAM_LIBBIN)/librhopSonicFoam diff --git a/applications/solvers/compressible/rhopSonicFoam/BCs/Make/options b/applications/solvers/compressible/rhopSonicFoam/BCs/Make/options deleted file mode 100644 index 9c87caea6e..0000000000 --- a/applications/solvers/compressible/rhopSonicFoam/BCs/Make/options +++ /dev/null @@ -1,6 +0,0 @@ -EXE_INC = \ - -I$(LIB_SRC)/finiteVolume/lnInclude - -LIB_LIBS = \ - -lfiniteVolume \ - -L$(FOAM_LIBBIN) diff --git a/applications/solvers/compressible/rhopSonicFoam/BCs/p/inviscidWallPFvPatchScalarField.C b/applications/solvers/compressible/rhopSonicFoam/BCs/p/inviscidWallPFvPatchScalarField.C deleted file mode 100644 index 8702d0aba4..0000000000 --- a/applications/solvers/compressible/rhopSonicFoam/BCs/p/inviscidWallPFvPatchScalarField.C +++ /dev/null @@ -1,163 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. - \\/ M anipulation | -------------------------------------------------------------------------------- -License - This file is part of OpenFOAM. - - OpenFOAM is free software: you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - OpenFOAM is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - for more details. - - You should have received a copy of the GNU General Public License - along with OpenFOAM. If not, see . - -\*---------------------------------------------------------------------------*/ - -#include "inviscidWallPFvPatchScalarField.H" -#include "fvPatchFieldMapper.H" -#include "volFields.H" -#include "surfaceFields.H" -#include "addToRunTimeSelectionTable.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -inviscidWallPFvPatchScalarField::inviscidWallPFvPatchScalarField -( - const fvPatch& p, - const DimensionedField& iF -) -: - fixedGradientFvPatchScalarField(p, iF), - fluxFraction_(1) -{} - - -inviscidWallPFvPatchScalarField::inviscidWallPFvPatchScalarField -( - const inviscidWallPFvPatchScalarField& ptf, - const fvPatch& p, - const DimensionedField& iF, - const fvPatchFieldMapper& mapper -) -: - fixedGradientFvPatchScalarField(ptf, p, iF, mapper), - fluxFraction_(ptf.fluxFraction_) -{} - - -inviscidWallPFvPatchScalarField::inviscidWallPFvPatchScalarField -( - const fvPatch& p, - const DimensionedField& iF, - const dictionary& dict -) -: - fixedGradientFvPatchScalarField(p, iF), - fluxFraction_(readScalar(dict.lookup("fluxFraction"))) -{ - if (dict.found("gradient")) - { - gradient() = scalarField("gradient", dict, p.size()); - fixedGradientFvPatchScalarField::updateCoeffs(); - fixedGradientFvPatchScalarField::evaluate(); - } - else - { - fvPatchField::operator=(patchInternalField()); - gradient() = 0.0; - } - - if (fluxFraction_<0.0 || fluxFraction_ > 1.0) - { - FatalIOErrorIn - ( - "inviscidWallPFvPatchScalarField::" - "supersonicFreeStreamFvPatchVectorField" - "(const fvPatch&, const scalarField&, const dictionary&)", - dict - ) << " unphysical fluxFraction specified (< 0.0 or > 1.0)" - << exit(FatalIOError); - } - -} - - -inviscidWallPFvPatchScalarField::inviscidWallPFvPatchScalarField -( - const inviscidWallPFvPatchScalarField& wbppsf -) -: - fixedGradientFvPatchScalarField(wbppsf), - fluxFraction_(wbppsf.fluxFraction_) -{} - - -inviscidWallPFvPatchScalarField::inviscidWallPFvPatchScalarField -( - const inviscidWallPFvPatchScalarField& wbppsf, - const DimensionedField& iF -) -: - fixedGradientFvPatchScalarField(wbppsf, iF), - fluxFraction_(wbppsf.fluxFraction_) -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -void inviscidWallPFvPatchScalarField::updateCoeffs() -{ - if (updated()) - { - return; - } - - const fvPatchField& rhoUp = - patch().lookupPatchField("rhoU"); - - const fvsPatchField& phip = - patch().lookupPatchField("phi"); - - const fvsPatchField& rAp = - patch().lookupPatchField("rrhoUAf"); - - gradient() = (fluxFraction_*phip - (patch().Sf() & rhoUp))/ - (rAp*patch().magSf()); - - fixedGradientFvPatchScalarField::updateCoeffs(); -} - - -void inviscidWallPFvPatchScalarField::write(Ostream& os) const -{ - fixedGradientFvPatchScalarField::write(os); - os.writeKeyword("fluxFraction") - << fluxFraction_ << token::END_STATEMENT << nl; - writeEntry("value", os); -} - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -makePatchTypeField(fvPatchScalarField, inviscidWallPFvPatchScalarField); - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - -// ************************************************************************* // diff --git a/applications/solvers/compressible/rhopSonicFoam/BCs/p/inviscidWallPFvPatchScalarField.H b/applications/solvers/compressible/rhopSonicFoam/BCs/p/inviscidWallPFvPatchScalarField.H deleted file mode 100644 index c88ec2e714..0000000000 --- a/applications/solvers/compressible/rhopSonicFoam/BCs/p/inviscidWallPFvPatchScalarField.H +++ /dev/null @@ -1,136 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. - \\/ M anipulation | -------------------------------------------------------------------------------- -License - This file is part of OpenFOAM. - - OpenFOAM is free software: you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - OpenFOAM is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - for more details. - - You should have received a copy of the GNU General Public License - along with OpenFOAM. If not, see . - -\*---------------------------------------------------------------------------*/ - -#ifndef inviscidWallPFvPatchScalarFields_H -#define inviscidWallPFvPatchScalarFields_H - -#include "fvPatchFields.H" -#include "fixedGradientFvPatchFields.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -/*---------------------------------------------------------------------------*\ - Class inviscidWallPFvPatch Declaration -\*---------------------------------------------------------------------------*/ - -class inviscidWallPFvPatchScalarField -: - public fixedGradientFvPatchScalarField -{ - -public: - - // Private data - - scalar fluxFraction_; - - //- Runtime type information - TypeName("inviscidWallP"); - - - // Constructors - - //- Construct from patch and internal field - inviscidWallPFvPatchScalarField - ( - const fvPatch&, - const DimensionedField& - ); - - //- Construct from patch, internal field and dictionary - inviscidWallPFvPatchScalarField - ( - const fvPatch&, - const DimensionedField&, - const dictionary& - ); - - //- Construct by mapping given inviscidWallPFvPatchScalarField onto - // a new patch - inviscidWallPFvPatchScalarField - ( - const inviscidWallPFvPatchScalarField&, - const fvPatch&, - const DimensionedField&, - const fvPatchFieldMapper& - ); - - //- Construct as copy - inviscidWallPFvPatchScalarField - ( - const inviscidWallPFvPatchScalarField& - ); - - //- Construct and return a clone - virtual tmp clone() const - { - return tmp - ( - new inviscidWallPFvPatchScalarField(*this) - ); - } - - //- Construct as copy setting internal field reference - inviscidWallPFvPatchScalarField - ( - const inviscidWallPFvPatchScalarField&, - const DimensionedField& - ); - - //- Construct and return a clone setting internal field reference - virtual tmp clone - ( - const DimensionedField& iF - ) const - { - return tmp - ( - new inviscidWallPFvPatchScalarField(*this, iF) - ); - } - - - // Member functions - - //- Update the coefficients associated with the patch field - virtual void updateCoeffs(); - - //- Write - virtual void write(Ostream&) const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/compressible/rhopSonicFoam/BCs/rho/fixedRhoFvPatchScalarField.C b/applications/solvers/compressible/rhopSonicFoam/BCs/rho/fixedRhoFvPatchScalarField.C deleted file mode 100644 index b715ac05bc..0000000000 --- a/applications/solvers/compressible/rhopSonicFoam/BCs/rho/fixedRhoFvPatchScalarField.C +++ /dev/null @@ -1,126 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. - \\/ M anipulation | -------------------------------------------------------------------------------- -License - This file is part of OpenFOAM. - - OpenFOAM is free software: you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - OpenFOAM is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - for more details. - - You should have received a copy of the GNU General Public License - along with OpenFOAM. If not, see . - -\*---------------------------------------------------------------------------*/ - -#include "fixedRhoFvPatchScalarField.H" -#include "addToRunTimeSelectionTable.H" -#include "fvPatchFieldMapper.H" -#include "volFields.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -fixedRhoFvPatchScalarField::fixedRhoFvPatchScalarField -( - const fvPatch& p, - const DimensionedField& iF -) -: - fixedValueFvPatchScalarField(p, iF) -{} - - -fixedRhoFvPatchScalarField::fixedRhoFvPatchScalarField -( - const fixedRhoFvPatchScalarField& ptf, - const fvPatch& p, - const DimensionedField& iF, - const fvPatchFieldMapper& mapper -) -: - fixedValueFvPatchScalarField(ptf, p, iF, mapper) -{} - - -fixedRhoFvPatchScalarField::fixedRhoFvPatchScalarField -( - const fvPatch& p, - const DimensionedField& iF, - const dictionary& dict -) -: - fixedValueFvPatchScalarField(p, iF) -{} - - -fixedRhoFvPatchScalarField::fixedRhoFvPatchScalarField -( - const fixedRhoFvPatchScalarField& tppsf -) -: - fixedValueFvPatchScalarField(tppsf) -{} - - -fixedRhoFvPatchScalarField::fixedRhoFvPatchScalarField -( - const fixedRhoFvPatchScalarField& tppsf, - const DimensionedField& iF -) -: - fixedValueFvPatchScalarField(tppsf, iF) -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -void fixedRhoFvPatchScalarField::updateCoeffs() -{ - if (updated()) - { - return; - } - - const fvPatchField& psip = - patch().lookupPatchField("psi"); - - const fvPatchField& pp = - patch().lookupPatchField("p"); - - operator==(psip*pp); - - fixedValueFvPatchScalarField::updateCoeffs(); -} - - -void fixedRhoFvPatchScalarField::write(Ostream& os) const -{ - fvPatchScalarField::write(os); - writeEntry("value", os); -} - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -makePatchTypeField(fvPatchScalarField, fixedRhoFvPatchScalarField); - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - -// ************************************************************************* // diff --git a/applications/solvers/compressible/rhopSonicFoam/BCs/rho/fixedRhoFvPatchScalarField.H b/applications/solvers/compressible/rhopSonicFoam/BCs/rho/fixedRhoFvPatchScalarField.H deleted file mode 100644 index 4c2519f3b1..0000000000 --- a/applications/solvers/compressible/rhopSonicFoam/BCs/rho/fixedRhoFvPatchScalarField.H +++ /dev/null @@ -1,135 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. - \\/ M anipulation | -------------------------------------------------------------------------------- -License - This file is part of OpenFOAM. - - OpenFOAM is free software: you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - OpenFOAM is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - for more details. - - You should have received a copy of the GNU General Public License - along with OpenFOAM. If not, see . - -\*---------------------------------------------------------------------------*/ - -#ifndef fixedRhoFvPatchScalarField_H -#define fixedRhoFvPatchScalarField_H - -#include "fixedValueFvPatchFields.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -/*---------------------------------------------------------------------------*\ - Class fixedRhoFvPatch Declaration -\*---------------------------------------------------------------------------*/ - -class fixedRhoFvPatchScalarField -: - public fixedValueFvPatchScalarField -{ - -public: - - //- Runtime type information - TypeName("fixedRho"); - - - // Constructors - - //- Construct from patch and internal field - fixedRhoFvPatchScalarField - ( - const fvPatch&, - const DimensionedField& - ); - - //- Construct from patch, internal field and dictionary - fixedRhoFvPatchScalarField - ( - const fvPatch&, - const DimensionedField&, - const dictionary& - ); - - //- Construct by mapping given fixedRhoFvPatchScalarField - // onto a new patch - fixedRhoFvPatchScalarField - ( - const fixedRhoFvPatchScalarField&, - const fvPatch&, - const DimensionedField&, - const fvPatchFieldMapper& - ); - - //- Construct as copy - fixedRhoFvPatchScalarField - ( - const fixedRhoFvPatchScalarField& - ); - - //- Construct and return a clone - virtual tmp clone() const - { - return tmp - ( - new fixedRhoFvPatchScalarField(*this) - ); - } - - //- Construct as copy setting internal field reference - fixedRhoFvPatchScalarField - ( - const fixedRhoFvPatchScalarField&, - const DimensionedField& - ); - - //- Construct and return a clone setting internal field reference - virtual tmp clone - ( - const DimensionedField& iF - ) const - { - return tmp - ( - new fixedRhoFvPatchScalarField(*this, iF) - ); - } - - - // Member functions - - // Access - - // Evaluation functions - - //- Update the coefficients associated with the patch field - virtual void updateCoeffs(); - - //- Write - virtual void write(Ostream&) const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/compressible/rhopSonicFoam/BCs/rho/gradientRhoFvPatchScalarField.C b/applications/solvers/compressible/rhopSonicFoam/BCs/rho/gradientRhoFvPatchScalarField.C deleted file mode 100644 index f874f86df4..0000000000 --- a/applications/solvers/compressible/rhopSonicFoam/BCs/rho/gradientRhoFvPatchScalarField.C +++ /dev/null @@ -1,139 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. - \\/ M anipulation | -------------------------------------------------------------------------------- -License - This file is part of OpenFOAM. - - OpenFOAM is free software: you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - OpenFOAM is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - for more details. - - You should have received a copy of the GNU General Public License - along with OpenFOAM. If not, see . - -\*---------------------------------------------------------------------------*/ - -#include "gradientRhoFvPatchScalarField.H" -#include "fvPatchFieldMapper.H" -#include "volFields.H" -#include "surfaceFields.H" -#include "addToRunTimeSelectionTable.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -gradientRhoFvPatchScalarField::gradientRhoFvPatchScalarField -( - const fvPatch& p, - const DimensionedField& iF -) -: - fixedGradientFvPatchScalarField(p, iF) -{} - - -gradientRhoFvPatchScalarField::gradientRhoFvPatchScalarField -( - const gradientRhoFvPatchScalarField& ptf, - const fvPatch& p, - const DimensionedField& iF, - const fvPatchFieldMapper& mapper -) -: - fixedGradientFvPatchScalarField(ptf, p, iF, mapper) -{} - - -gradientRhoFvPatchScalarField::gradientRhoFvPatchScalarField -( - const fvPatch& p, - const DimensionedField& iF, - const dictionary& dict -) -: - fixedGradientFvPatchScalarField(p, iF) -{ - if (dict.found("gradient")) - { - gradient() = scalarField("gradient", dict, p.size()); - fixedGradientFvPatchScalarField::updateCoeffs(); - fixedGradientFvPatchScalarField::evaluate(); - } - else - { - fvPatchField::operator=(patchInternalField()); - gradient() = 0.0; - } -} - - -gradientRhoFvPatchScalarField::gradientRhoFvPatchScalarField -( - const gradientRhoFvPatchScalarField& wbppsf -) -: - fixedGradientFvPatchScalarField(wbppsf) -{} - - -gradientRhoFvPatchScalarField::gradientRhoFvPatchScalarField -( - const gradientRhoFvPatchScalarField& wbppsf, - const DimensionedField& iF -) -: - fixedGradientFvPatchScalarField(wbppsf, iF) -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -void gradientRhoFvPatchScalarField::updateCoeffs() -{ - if (updated()) - { - return; - } - - const fvPatchField& psip = - patch().lookupPatchField("psi"); - - const fvPatchField& pp = - patch().lookupPatchField("p"); - - gradient() = psip*pp.snGrad() + psip.snGrad()*pp; - - fixedGradientFvPatchScalarField::updateCoeffs(); -} - - -void gradientRhoFvPatchScalarField::write(Ostream& os) const -{ - fixedGradientFvPatchScalarField::write(os); - writeEntry("value", os); -} - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -makePatchTypeField(fvPatchScalarField, gradientRhoFvPatchScalarField); - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - -// ************************************************************************* // diff --git a/applications/solvers/compressible/rhopSonicFoam/BCs/rho/gradientRhoFvPatchScalarField.H b/applications/solvers/compressible/rhopSonicFoam/BCs/rho/gradientRhoFvPatchScalarField.H deleted file mode 100644 index 5795fbc3d4..0000000000 --- a/applications/solvers/compressible/rhopSonicFoam/BCs/rho/gradientRhoFvPatchScalarField.H +++ /dev/null @@ -1,132 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. - \\/ M anipulation | -------------------------------------------------------------------------------- -License - This file is part of OpenFOAM. - - OpenFOAM is free software: you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - OpenFOAM is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - for more details. - - You should have received a copy of the GNU General Public License - along with OpenFOAM. If not, see . - -\*---------------------------------------------------------------------------*/ - -#ifndef gradientRhoFvPatchScalarFields_H -#define gradientRhoFvPatchScalarFields_H - -#include "fvPatchFields.H" -#include "fixedGradientFvPatchFields.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -/*---------------------------------------------------------------------------*\ - Class gradientRhoFvPatch Declaration -\*---------------------------------------------------------------------------*/ - -class gradientRhoFvPatchScalarField -: - public fixedGradientFvPatchScalarField -{ - -public: - - //- Runtime type information - TypeName("gradientRho"); - - - // Constructors - - //- Construct from patch and internal field - gradientRhoFvPatchScalarField - ( - const fvPatch&, - const DimensionedField& - ); - - //- Construct from patch, internal field and dictionary - gradientRhoFvPatchScalarField - ( - const fvPatch&, - const DimensionedField&, - const dictionary& - ); - - //- Construct by mapping given gradientRhoFvPatchScalarField onto - // a new patch - gradientRhoFvPatchScalarField - ( - const gradientRhoFvPatchScalarField&, - const fvPatch&, - const DimensionedField&, - const fvPatchFieldMapper& - ); - - //- Construct as copy - gradientRhoFvPatchScalarField - ( - const gradientRhoFvPatchScalarField&x - ); - - //- Construct and return a clone - virtual tmp clone() const - { - return tmp - ( - new gradientRhoFvPatchScalarField(*this) - ); - } - - //- Construct as copy setting internal field reference - gradientRhoFvPatchScalarField - ( - const gradientRhoFvPatchScalarField&, - const DimensionedField& - ); - - //- Construct and return a clone setting internal field reference - virtual tmp clone - ( - const DimensionedField& iF - ) const - { - return tmp - ( - new gradientRhoFvPatchScalarField(*this, iF) - ); - } - - - // Member functions - - //- Update the coefficients associated with the patch field - virtual void updateCoeffs(); - - //- Write - virtual void write(Ostream&) const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/compressible/rhopSonicFoam/BCs/rhoE/fixedRhoEFvPatchScalarField.C b/applications/solvers/compressible/rhopSonicFoam/BCs/rhoE/fixedRhoEFvPatchScalarField.C deleted file mode 100644 index 9bf4a4c1a8..0000000000 --- a/applications/solvers/compressible/rhopSonicFoam/BCs/rhoE/fixedRhoEFvPatchScalarField.C +++ /dev/null @@ -1,136 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. - \\/ M anipulation | -------------------------------------------------------------------------------- -License - This file is part of OpenFOAM. - - OpenFOAM is free software: you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - OpenFOAM is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - for more details. - - You should have received a copy of the GNU General Public License - along with OpenFOAM. If not, see . - -\*---------------------------------------------------------------------------*/ - -#include "fixedRhoEFvPatchScalarField.H" -#include "addToRunTimeSelectionTable.H" -#include "fvPatchFieldMapper.H" -#include "volFields.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -fixedRhoEFvPatchScalarField::fixedRhoEFvPatchScalarField -( - const fvPatch& p, - const DimensionedField& iF -) -: - fixedValueFvPatchScalarField(p, iF) -{} - - -fixedRhoEFvPatchScalarField::fixedRhoEFvPatchScalarField -( - const fixedRhoEFvPatchScalarField& ptf, - const fvPatch& p, - const DimensionedField& iF, - const fvPatchFieldMapper& mapper -) -: - fixedValueFvPatchScalarField(ptf, p, iF, mapper) -{} - - -fixedRhoEFvPatchScalarField::fixedRhoEFvPatchScalarField -( - const fvPatch& p, - const DimensionedField& iF, - const dictionary& dict -) -: - fixedValueFvPatchScalarField(p, iF) -{} - - -fixedRhoEFvPatchScalarField::fixedRhoEFvPatchScalarField -( - const fixedRhoEFvPatchScalarField& tppsf -) -: - fixedValueFvPatchScalarField(tppsf) -{} - - -fixedRhoEFvPatchScalarField::fixedRhoEFvPatchScalarField -( - const fixedRhoEFvPatchScalarField& tppsf, - const DimensionedField& iF -) -: - fixedValueFvPatchScalarField(tppsf, iF) -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -void fixedRhoEFvPatchScalarField::updateCoeffs() -{ - if (updated()) - { - return; - } - - const dictionary& thermodynamicProperties = db().lookupObject - ( - "thermodynamicProperties" - ); - - dimensionedScalar Cv(thermodynamicProperties.lookup("Cv")); - - const fvPatchScalarField& rhop = - patch().lookupPatchField("rho"); - - const fvPatchVectorField& rhoUp = - patch().lookupPatchField("rhoU"); - - const fvPatchScalarField& Tp = - patch().lookupPatchField("T"); - - operator==(rhop*(Cv.value()*Tp + 0.5*magSqr(rhoUp/rhop))); - - fixedValueFvPatchScalarField::updateCoeffs(); -} - - -void fixedRhoEFvPatchScalarField::write(Ostream& os) const -{ - fvPatchScalarField::write(os); - writeEntry("value", os); -} - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -makePatchTypeField(fvPatchScalarField, fixedRhoEFvPatchScalarField); - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - -// ************************************************************************* // diff --git a/applications/solvers/compressible/rhopSonicFoam/BCs/rhoE/fixedRhoEFvPatchScalarField.H b/applications/solvers/compressible/rhopSonicFoam/BCs/rhoE/fixedRhoEFvPatchScalarField.H deleted file mode 100644 index 8f40703be0..0000000000 --- a/applications/solvers/compressible/rhopSonicFoam/BCs/rhoE/fixedRhoEFvPatchScalarField.H +++ /dev/null @@ -1,135 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. - \\/ M anipulation | -------------------------------------------------------------------------------- -License - This file is part of OpenFOAM. - - OpenFOAM is free software: you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - OpenFOAM is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - for more details. - - You should have received a copy of the GNU General Public License - along with OpenFOAM. If not, see . - -\*---------------------------------------------------------------------------*/ - -#ifndef fixedRhoEFvPatchScalarField_H -#define fixedRhoEFvPatchScalarField_H - -#include "fixedValueFvPatchFields.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -/*---------------------------------------------------------------------------*\ - Class fixedRhoEFvPatch Declaration -\*---------------------------------------------------------------------------*/ - -class fixedRhoEFvPatchScalarField -: - public fixedValueFvPatchScalarField -{ - -public: - - //- Runtime type information - TypeName("fixedRhoE"); - - - // Constructors - - //- Construct from patch and internal field - fixedRhoEFvPatchScalarField - ( - const fvPatch&, - const DimensionedField& - ); - - //- Construct from patch, internal field and dictionary - fixedRhoEFvPatchScalarField - ( - const fvPatch&, - const DimensionedField&, - const dictionary& - ); - - //- Construct by mapping given fixedRhoEFvPatchScalarField - // onto a new patch - fixedRhoEFvPatchScalarField - ( - const fixedRhoEFvPatchScalarField&, - const fvPatch&, - const DimensionedField&, - const fvPatchFieldMapper& - ); - - //- Construct as copy - fixedRhoEFvPatchScalarField - ( - const fixedRhoEFvPatchScalarField& - ); - - //- Construct and return a clone - virtual tmp clone() const - { - return tmp - ( - new fixedRhoEFvPatchScalarField(*this) - ); - } - - //- Construct as copy setting internal field reference - fixedRhoEFvPatchScalarField - ( - const fixedRhoEFvPatchScalarField&, - const DimensionedField& - ); - - //- Construct and return a clone setting internal field reference - virtual tmp clone - ( - const DimensionedField& iF - ) const - { - return tmp - ( - new fixedRhoEFvPatchScalarField(*this, iF) - ); - } - - - // Member functions - - // Access - - // Evaluation functions - - //- Update the coefficients associated with the patch field - virtual void updateCoeffs(); - - //- Write - virtual void write(Ostream&) const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/compressible/rhopSonicFoam/BCs/rhoE/mixedRhoEFvPatchScalarField.C b/applications/solvers/compressible/rhopSonicFoam/BCs/rhoE/mixedRhoEFvPatchScalarField.C deleted file mode 100644 index 08e001240c..0000000000 --- a/applications/solvers/compressible/rhopSonicFoam/BCs/rhoE/mixedRhoEFvPatchScalarField.C +++ /dev/null @@ -1,194 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. - \\/ M anipulation | -------------------------------------------------------------------------------- -License - This file is part of OpenFOAM. - - OpenFOAM is free software: you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - OpenFOAM is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - for more details. - - You should have received a copy of the GNU General Public License - along with OpenFOAM. If not, see . - -\*---------------------------------------------------------------------------*/ - -#include "mixedRhoEFvPatchScalarField.H" -#include "addToRunTimeSelectionTable.H" -#include "fvPatchFieldMapper.H" -#include "volFields.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -mixedRhoEFvPatchScalarField::mixedRhoEFvPatchScalarField -( - const fvPatch& p, - const DimensionedField& iF -) -: - mixedFvPatchScalarField(p, iF) -{ - refValue() = 0.0; - refGrad() = 0.0; - valueFraction() = 0.0; -} - - -mixedRhoEFvPatchScalarField::mixedRhoEFvPatchScalarField -( - const mixedRhoEFvPatchScalarField& ptf, - const fvPatch& p, - const DimensionedField& iF, - const fvPatchFieldMapper& mapper -) -: - mixedFvPatchScalarField(ptf, p, iF, mapper) -{} - - -mixedRhoEFvPatchScalarField::mixedRhoEFvPatchScalarField -( - const fvPatch& p, - const DimensionedField& iF, - const dictionary& dict -) -: - mixedFvPatchScalarField(p, iF) -{ - if (dict.found("value")) - { - fvPatchField::operator= - ( - scalarField("value", dict, p.size()) - ); - } - else - { - fvPatchField::operator=(patchInternalField()); - } - - refValue() = *this; - refGrad() = 0.0; - valueFraction() = 0.0; -} - - -mixedRhoEFvPatchScalarField::mixedRhoEFvPatchScalarField -( - const mixedRhoEFvPatchScalarField& ptpsf -) -: - mixedFvPatchScalarField(ptpsf) -{} - - -mixedRhoEFvPatchScalarField::mixedRhoEFvPatchScalarField -( - const mixedRhoEFvPatchScalarField& ptpsf, - const DimensionedField& iF -) -: - mixedFvPatchScalarField(ptpsf, iF) -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -void mixedRhoEFvPatchScalarField::autoMap -( - const fvPatchFieldMapper& m -) -{ - mixedFvPatchScalarField::autoMap(m); -} - - -void mixedRhoEFvPatchScalarField::rmap -( - const fvPatchField& ptf, - const labelList& addr -) -{ - mixedFvPatchField::rmap(ptf, addr); -} - - -void mixedRhoEFvPatchScalarField::updateCoeffs() -{ - if (updated()) - { - return; - } - - const fvPatchField& rhop = - patch().lookupPatchField("rho"); - const fvPatchField& rhoUp = - patch().lookupPatchField("rhoU"); -// fvPatchField& Tp = -// patch().lookupPatchField("T"); - - const volScalarField& T = db().lookupObject("T"); - const label patchi = patch().index(); - fvPatchScalarField& Tp = - const_cast(T.boundaryField()[patchi]); - - Tp.evaluate(); - - const dictionary& thermodynamicProperties = db().lookupObject - ( - "thermodynamicProperties" - ); - - dimensionedScalar Cv(thermodynamicProperties.lookup("Cv")); - - valueFraction() = rhop.snGrad()/ - (rhop.snGrad() - rhop*this->patch().deltaCoeffs()); - - refValue() = 0.5*rhop*magSqr(rhoUp/rhop); - refGrad() = - rhop*Cv.value()*Tp.snGrad() - + ( - refValue() - - (0.5*rhop.patchInternalField()* - magSqr(rhoUp.patchInternalField()/rhop.patchInternalField())) - )*patch().deltaCoeffs(); - - mixedFvPatchScalarField::updateCoeffs(); -} - - -void mixedRhoEFvPatchScalarField::write(Ostream& os) const -{ - fvPatchScalarField::write(os); - os.writeKeyword("valueFraction") << valueFraction() - << token::END_STATEMENT << endl; - os.writeKeyword("refValue") << refValue() << token::END_STATEMENT << endl; - os.writeKeyword("refGrad") << refGrad() << token::END_STATEMENT << endl; - writeEntry("value", os); -} - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -makePatchTypeField(fvPatchScalarField, mixedRhoEFvPatchScalarField); - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - -// ************************************************************************* // diff --git a/applications/solvers/compressible/rhopSonicFoam/BCs/rhoE/mixedRhoEFvPatchScalarField.H b/applications/solvers/compressible/rhopSonicFoam/BCs/rhoE/mixedRhoEFvPatchScalarField.H deleted file mode 100644 index 19fc700411..0000000000 --- a/applications/solvers/compressible/rhopSonicFoam/BCs/rhoE/mixedRhoEFvPatchScalarField.H +++ /dev/null @@ -1,155 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. - \\/ M anipulation | -------------------------------------------------------------------------------- -License - This file is part of OpenFOAM. - - OpenFOAM is free software: you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - OpenFOAM is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - for more details. - - You should have received a copy of the GNU General Public License - along with OpenFOAM. If not, see . - -Class - Foam::mixedRhoEFvPatchScalarField - -Description - -SourceFiles - mixedRhoEFvPatchScalarField.C - -\*---------------------------------------------------------------------------*/ - -#ifndef mixedRhoEFvPatchScalarFields_H -#define mixedRhoEFvPatchScalarFields_H - -#include "mixedFvPatchFields.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -/*---------------------------------------------------------------------------*\ - Class mixedRhoEFvPatch Declaration -\*---------------------------------------------------------------------------*/ - -class mixedRhoEFvPatchScalarField -: - public mixedFvPatchScalarField -{ - -public: - - //- Runtime type information - TypeName("mixedRhoE"); - - - // Constructors - - //- Construct from patch and internal field - mixedRhoEFvPatchScalarField - ( - const fvPatch&, - const DimensionedField& - ); - - //- Construct from patch, internal field and dictionary - mixedRhoEFvPatchScalarField - ( - const fvPatch&, - const DimensionedField&, - const dictionary& - ); - - //- Construct by mapping given mixedRhoEFvPatchScalarField - // onto a new patch - mixedRhoEFvPatchScalarField - ( - const mixedRhoEFvPatchScalarField&, - const fvPatch&, - const DimensionedField&, - const fvPatchFieldMapper& - ); - - //- Construct as copy - mixedRhoEFvPatchScalarField - ( - const mixedRhoEFvPatchScalarField& - ); - - //- Construct and return a clone - virtual tmp clone() const - { - return tmp - ( - new mixedRhoEFvPatchScalarField(*this) - ); - } - - //- Construct as copy setting internal field reference - mixedRhoEFvPatchScalarField - ( - const mixedRhoEFvPatchScalarField&, - const DimensionedField& - ); - - //- Construct and return a clone setting internal field reference - virtual tmp clone - ( - const DimensionedField& iF - ) const - { - return tmp - ( - new mixedRhoEFvPatchScalarField(*this, iF) - ); - } - - // Mapping functions - - //- Map (and resize as needed) from self given a mapping object - virtual void autoMap - ( - const fvPatchFieldMapper& - ); - - //- Reverse map the given fvPatchField onto this fvPatchField - virtual void rmap - ( - const fvPatchField&, - const labelList& - ); - - - // Evaluation functions - - //- Update the coefficients associated with the patch field - virtual void updateCoeffs(); - - - //- Write - virtual void write(Ostream&) const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/compressible/rhopSonicFoam/BCs/rhoU/fixedRhoUFvPatchVectorField.C b/applications/solvers/compressible/rhopSonicFoam/BCs/rhoU/fixedRhoUFvPatchVectorField.C deleted file mode 100644 index 0daa0dd2d5..0000000000 --- a/applications/solvers/compressible/rhopSonicFoam/BCs/rhoU/fixedRhoUFvPatchVectorField.C +++ /dev/null @@ -1,126 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. - \\/ M anipulation | -------------------------------------------------------------------------------- -License - This file is part of OpenFOAM. - - OpenFOAM is free software: you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - OpenFOAM is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - for more details. - - You should have received a copy of the GNU General Public License - along with OpenFOAM. If not, see . - -\*---------------------------------------------------------------------------*/ - -#include "fixedRhoUFvPatchVectorField.H" -#include "addToRunTimeSelectionTable.H" -#include "fvPatchFieldMapper.H" -#include "volFields.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -fixedRhoUFvPatchVectorField::fixedRhoUFvPatchVectorField -( - const fvPatch& p, - const DimensionedField& iF -) -: - fixedValueFvPatchVectorField(p, iF) -{} - - -fixedRhoUFvPatchVectorField::fixedRhoUFvPatchVectorField -( - const fixedRhoUFvPatchVectorField& ptf, - const fvPatch& p, - const DimensionedField& iF, - const fvPatchFieldMapper& mapper -) -: - fixedValueFvPatchVectorField(ptf, p, iF, mapper) -{} - - -fixedRhoUFvPatchVectorField::fixedRhoUFvPatchVectorField -( - const fvPatch& p, - const DimensionedField& iF, - const dictionary& dict -) -: - fixedValueFvPatchVectorField(p, iF) -{} - - -fixedRhoUFvPatchVectorField::fixedRhoUFvPatchVectorField -( - const fixedRhoUFvPatchVectorField& tppsf -) -: - fixedValueFvPatchVectorField(tppsf) -{} - - -fixedRhoUFvPatchVectorField::fixedRhoUFvPatchVectorField -( - const fixedRhoUFvPatchVectorField& tppsf, - const DimensionedField& iF -) -: - fixedValueFvPatchVectorField(tppsf, iF) -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -void fixedRhoUFvPatchVectorField::updateCoeffs() -{ - if (updated()) - { - return; - } - - const fvPatchScalarField& rhop = - patch().lookupPatchField("rho"); - - const fvPatchVectorField& Up = - patch().lookupPatchField("U"); - - operator==(rhop*Up); - - fixedValueFvPatchVectorField::updateCoeffs(); -} - - -void fixedRhoUFvPatchVectorField::write(Ostream& os) const -{ - fvPatchVectorField::write(os); - writeEntry("value", os); -} - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -makePatchTypeField(fvPatchVectorField, fixedRhoUFvPatchVectorField); - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - -// ************************************************************************* // diff --git a/applications/solvers/compressible/rhopSonicFoam/BCs/rhoU/fixedRhoUFvPatchVectorField.H b/applications/solvers/compressible/rhopSonicFoam/BCs/rhoU/fixedRhoUFvPatchVectorField.H deleted file mode 100644 index f548b7c3da..0000000000 --- a/applications/solvers/compressible/rhopSonicFoam/BCs/rhoU/fixedRhoUFvPatchVectorField.H +++ /dev/null @@ -1,135 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. - \\/ M anipulation | -------------------------------------------------------------------------------- -License - This file is part of OpenFOAM. - - OpenFOAM is free software: you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - OpenFOAM is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - for more details. - - You should have received a copy of the GNU General Public License - along with OpenFOAM. If not, see . - -\*---------------------------------------------------------------------------*/ - -#ifndef fixedRhoUFvPatchVectorField_H -#define fixedRhoUFvPatchVectorField_H - -#include "fixedValueFvPatchFields.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -/*---------------------------------------------------------------------------*\ - Class fixedRhoUFvPatch Declaration -\*---------------------------------------------------------------------------*/ - -class fixedRhoUFvPatchVectorField -: - public fixedValueFvPatchVectorField -{ - -public: - - //- Runtime type information - TypeName("fixedRhoU"); - - - // Constructors - - //- Construct from patch and internal field - fixedRhoUFvPatchVectorField - ( - const fvPatch&, - const DimensionedField& - ); - - //- Construct from patch, internal field and dictionary - fixedRhoUFvPatchVectorField - ( - const fvPatch&, - const DimensionedField&, - const dictionary& - ); - - //- Construct by mapping given fixedRhoUFvPatchVectorField - // onto a new patch - fixedRhoUFvPatchVectorField - ( - const fixedRhoUFvPatchVectorField&, - const fvPatch&, - const DimensionedField&, - const fvPatchFieldMapper& - ); - - //- Construct as copy - fixedRhoUFvPatchVectorField - ( - const fixedRhoUFvPatchVectorField& - ); - - //- Construct and return a clone - virtual tmp clone() const - { - return tmp - ( - new fixedRhoUFvPatchVectorField(*this) - ); - } - - //- Construct as copy setting internal field reference - fixedRhoUFvPatchVectorField - ( - const fixedRhoUFvPatchVectorField&, - const DimensionedField& - ); - - //- Construct and return a clone setting internal field reference - virtual tmp clone - ( - const DimensionedField& iF - ) const - { - return tmp - ( - new fixedRhoUFvPatchVectorField(*this, iF) - ); - } - - - // Member functions - - // Access - - // Evaluation functions - - //- Update the coefficients associated with the patch field - virtual void updateCoeffs(); - - //- Write - virtual void write(Ostream&) const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/compressible/rhopSonicFoam/Make/files b/applications/solvers/compressible/rhopSonicFoam/Make/files deleted file mode 100644 index e751786c41..0000000000 --- a/applications/solvers/compressible/rhopSonicFoam/Make/files +++ /dev/null @@ -1,3 +0,0 @@ -rhopSonicFoam.C - -EXE = $(FOAM_APPBIN)/rhopSonicFoam diff --git a/applications/solvers/compressible/rhopSonicFoam/Make/options b/applications/solvers/compressible/rhopSonicFoam/Make/options deleted file mode 100644 index 31374b9af4..0000000000 --- a/applications/solvers/compressible/rhopSonicFoam/Make/options +++ /dev/null @@ -1,7 +0,0 @@ -EXE_INC = \ - -I$(LIB_SRC)/finiteVolume/lnInclude \ - -IBCs/lnInclude - -EXE_LIBS = \ - -lfiniteVolume \ - -lrhopSonicFoam diff --git a/applications/solvers/compressible/rhopSonicFoam/boundaryTypes.H b/applications/solvers/compressible/rhopSonicFoam/boundaryTypes.H deleted file mode 100644 index 7d314cd110..0000000000 --- a/applications/solvers/compressible/rhopSonicFoam/boundaryTypes.H +++ /dev/null @@ -1,7 +0,0 @@ -#include "fixedGradientFvPatchFields.H" -#include "zeroGradientFvPatchFields.H" -#include "fixedRhoFvPatchScalarField.H" -#include "gradientRhoFvPatchScalarField.H" -#include "fixedRhoEFvPatchScalarField.H" -#include "mixedRhoEFvPatchScalarField.H" -#include "fixedRhoUFvPatchVectorField.H" diff --git a/applications/solvers/compressible/rhopSonicFoam/compressibleCreatePhi.H b/applications/solvers/compressible/rhopSonicFoam/compressibleCreatePhi.H deleted file mode 100644 index 262ceebc05..0000000000 --- a/applications/solvers/compressible/rhopSonicFoam/compressibleCreatePhi.H +++ /dev/null @@ -1,54 +0,0 @@ - IOobject phiHeader - ( - "phi", - runTime.timeName(), - mesh, - IOobject::NO_READ - ); - - - surfaceScalarField* phiPtr; - - if (phiHeader.headerOk()) - { - Info<< "Reading face flux field phi\n" << endl; - - phiPtr = new surfaceScalarField - ( - IOobject - ( - "phi", - runTime.timeName(), - mesh, - IOobject::MUST_READ, - IOobject::AUTO_WRITE - ), - mesh - ); - } - else - { - Info<< "Calculating face flux field phi\n" << endl; - - wordList phiTypes - ( - rhoU.boundaryField().size(), - calculatedFvPatchScalarField::typeName - ); - - phiPtr = new surfaceScalarField - ( - IOobject - ( - "phi", - runTime.timeName(), - mesh, - IOobject::NO_READ, - IOobject::AUTO_WRITE - ), - linearInterpolate(rhoU) & mesh.Sf(), - phiTypes - ); - } - - surfaceScalarField& phi = *phiPtr; diff --git a/applications/solvers/compressible/rhopSonicFoam/createFields.H b/applications/solvers/compressible/rhopSonicFoam/createFields.H deleted file mode 100644 index fed8432711..0000000000 --- a/applications/solvers/compressible/rhopSonicFoam/createFields.H +++ /dev/null @@ -1,129 +0,0 @@ - Info<< "Reading field p\n" << endl; - volScalarField p - ( - IOobject - ( - "p", - runTime.timeName(), - mesh, - IOobject::MUST_READ, - IOobject::AUTO_WRITE - ), - mesh - ); - p.oldTime(); - - Info<< "Reading field T\n" << endl; - volScalarField T - ( - IOobject - ( - "T", - runTime.timeName(), - mesh, - IOobject::MUST_READ, - IOobject::AUTO_WRITE - ), - mesh - ); - T.correctBoundaryConditions(); - - volScalarField psi - ( - IOobject - ( - "psi", - runTime.timeName(), - mesh, - IOobject::NO_READ, - IOobject::AUTO_WRITE - ), - 1.0/(R*T) - ); - psi.oldTime(); - -# include "rhoBoundaryTypes.H" - volScalarField rho - ( - IOobject - ( - "rho", - runTime.timeName(), - mesh, - IOobject::NO_READ, - IOobject::AUTO_WRITE - ), - p*psi, - rhoBoundaryTypes - ); - - Info<< "Reading field U\n" << endl; - volVectorField U - ( - IOobject - ( - "U", - runTime.timeName(), - mesh, - IOobject::MUST_READ, - IOobject::AUTO_WRITE - ), - mesh - ); - -# include "rhoUboundaryTypes.H" - volVectorField rhoU - ( - IOobject - ( - "rhoU", - runTime.timeName(), - mesh, - IOobject::NO_READ, - IOobject::AUTO_WRITE - ), - rho*U, - rhoUboundaryTypes - ); - -# include "rhoEboundaryTypes.H" - volScalarField rhoE - ( - IOobject - ( - "rhoE", - runTime.timeName(), - mesh, - IOobject::NO_READ, - IOobject::AUTO_WRITE - ), - rho*Cv*T + 0.5*rho*magSqr(rhoU/rho), - rhoEboundaryTypes - ); - -# include "compressibleCreatePhi.H" - phi.oldTime(); - - surfaceScalarField phiv - ( - IOobject - ( - "phiv", - runTime.timeName(), - mesh - ), - phi/linearInterpolate(rho), - phi.boundaryField().types() - ); - - rhoU.correctBoundaryConditions(); - - multivariateSurfaceInterpolationScheme::fieldTable fields; - - volScalarField magRhoU = mag(rhoU); - volScalarField H("H", (rhoE + p)/rho); - - fields.add(rho); - fields.add(magRhoU); - fields.add(H); - diff --git a/applications/solvers/compressible/rhopSonicFoam/readThermodynamicProperties.H b/applications/solvers/compressible/rhopSonicFoam/readThermodynamicProperties.H deleted file mode 100644 index 2064187a2f..0000000000 --- a/applications/solvers/compressible/rhopSonicFoam/readThermodynamicProperties.H +++ /dev/null @@ -1,38 +0,0 @@ - Info<< "Reading thermodynamicProperties\n" << endl; - - IOdictionary thermodynamicProperties - ( - IOobject - ( - "thermodynamicProperties", - runTime.constant(), - mesh, - IOobject::MUST_READ_IF_MODIFIED, - IOobject::NO_WRITE - ) - ); - - dimensionedScalar R - ( - thermodynamicProperties.lookup("R") - ); - - dimensionedScalar Cv - ( - thermodynamicProperties.lookup("Cv") - ); - - dimensionedScalar Cp = Cv + R; - - dimensionedScalar gamma = Cp/Cv; - - dimensionedScalar Pr - ( - dimensionedScalar::lookupOrDefault - ( - "Pr", - thermodynamicProperties, - 1.0 - ) - ); - diff --git a/applications/solvers/compressible/rhopSonicFoam/resetPhiPatches.H b/applications/solvers/compressible/rhopSonicFoam/resetPhiPatches.H deleted file mode 100644 index 2a8496ef4c..0000000000 --- a/applications/solvers/compressible/rhopSonicFoam/resetPhiPatches.H +++ /dev/null @@ -1,19 +0,0 @@ -surfaceScalarField::GeometricBoundaryField& phiPatches = - phi.boundaryField(); - -const volVectorField::GeometricBoundaryField& rhoUpatches = - rhoU.boundaryField(); - -const surfaceVectorField::GeometricBoundaryField& SfPatches = - mesh.Sf().boundaryField(); - -forAll(phiPatches, patchI) -{ - if (phi.boundaryField().types()[patchI] == "calculated") - { - calculatedFvsPatchScalarField& phiPatch = - refCast(phiPatches[patchI]); - - phiPatch == (rhoUpatches[patchI] & SfPatches[patchI]); - } -} diff --git a/applications/solvers/compressible/rhopSonicFoam/rhoBoundaryTypes.H b/applications/solvers/compressible/rhopSonicFoam/rhoBoundaryTypes.H deleted file mode 100644 index f54d066311..0000000000 --- a/applications/solvers/compressible/rhopSonicFoam/rhoBoundaryTypes.H +++ /dev/null @@ -1,21 +0,0 @@ -const volScalarField::GeometricBoundaryField& pbf = p.boundaryField(); -wordList rhoBoundaryTypes = pbf.types(); - -forAll(rhoBoundaryTypes, patchi) -{ - if - ( - rhoBoundaryTypes[patchi] == "pressureTransmissive" - ) - { - rhoBoundaryTypes[patchi] = zeroGradientFvPatchScalarField::typeName; - } - else if (pbf[patchi].fixesValue()) - { - rhoBoundaryTypes[patchi] = fixedRhoFvPatchScalarField::typeName; - } - else - { - rhoBoundaryTypes[patchi] = gradientRhoFvPatchScalarField::typeName; - } -} diff --git a/applications/solvers/compressible/rhopSonicFoam/rhoEboundaryTypes.H b/applications/solvers/compressible/rhopSonicFoam/rhoEboundaryTypes.H deleted file mode 100644 index 84e08b29ed..0000000000 --- a/applications/solvers/compressible/rhopSonicFoam/rhoEboundaryTypes.H +++ /dev/null @@ -1,14 +0,0 @@ -const volScalarField::GeometricBoundaryField& Tbf = T.boundaryField(); -wordList rhoEboundaryTypes = Tbf.types(); - -forAll(rhoEboundaryTypes, patchi) -{ - if (Tbf[patchi].fixesValue()) - { - rhoEboundaryTypes[patchi] = fixedRhoEFvPatchScalarField::typeName; - } - else - { - rhoEboundaryTypes[patchi] = mixedRhoEFvPatchScalarField::typeName; - } -} diff --git a/applications/solvers/compressible/rhopSonicFoam/rhoUboundaryTypes.H b/applications/solvers/compressible/rhopSonicFoam/rhoUboundaryTypes.H deleted file mode 100644 index c03b959d26..0000000000 --- a/applications/solvers/compressible/rhopSonicFoam/rhoUboundaryTypes.H +++ /dev/null @@ -1,10 +0,0 @@ -const volVectorField::GeometricBoundaryField& Ubf = U.boundaryField(); -wordList rhoUboundaryTypes = Ubf.types(); - -forAll(rhoUboundaryTypes, patchi) -{ - if (Ubf[patchi].fixesValue()) - { - rhoUboundaryTypes[patchi] = fixedRhoUFvPatchVectorField::typeName; - } -} diff --git a/applications/solvers/compressible/rhopSonicFoam/rhopSonicFoam.C b/applications/solvers/compressible/rhopSonicFoam/rhopSonicFoam.C deleted file mode 100644 index 1f561e0709..0000000000 --- a/applications/solvers/compressible/rhopSonicFoam/rhopSonicFoam.C +++ /dev/null @@ -1,191 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. - \\/ M anipulation | -------------------------------------------------------------------------------- -License - This file is part of OpenFOAM. - - OpenFOAM is free software: you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - OpenFOAM is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - for more details. - - You should have received a copy of the GNU General Public License - along with OpenFOAM. If not, see . - -Application - rhopSonicFoam - -Description - Pressure-density-based compressible flow solver. - -\*---------------------------------------------------------------------------*/ - -#include "fvCFD.H" -#include "weighted.H" -#include "gaussConvectionScheme.H" -#include "multivariateGaussConvectionScheme.H" -#include "MUSCL.H" -#include "LimitedScheme.H" -#include "boundaryTypes.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -int main(int argc, char *argv[]) -{ - #include "setRootCase.H" - #include "createTime.H" - #include "createMesh.H" - #include "readThermodynamicProperties.H" - #include "createFields.H" - - // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - - Info<< "\nStarting time loop\n" << endl; - - while (runTime.loop()) - { - Info<< "Time = " << runTime.value() << nl << endl; - - #include "readPISOControls.H" - scalar HbyAblend = readScalar(piso.lookup("HbyAblend")); - - #include "readTimeControls.H" - - scalar CoNum = max - ( - mesh.surfaceInterpolation::deltaCoeffs() - *mag(phiv)/mesh.magSf() - ).value()*runTime.deltaTValue(); - - Info<< "Max Courant Number = " << CoNum << endl; - - #include "setDeltaT.H" - - for (int outerCorr=0; outerCorr mvConvection - ( - mesh, - fields, - phiv, - mesh.divScheme("div(phiv,rhoUH)") - ); - - solve - ( - fvm::ddt(rho) - + mvConvection.fvmDiv(phiv, rho) - ); - - surfaceScalarField rhoUWeights = - mvConvection.interpolationScheme()()(magRhoU)() - .weights(magRhoU); - - weighted rhoUScheme(rhoUWeights); - - fvVectorMatrix rhoUEqn - ( - fvm::ddt(rhoU) - + fv::gaussConvectionScheme(mesh, phiv, rhoUScheme) - .fvmDiv(phiv, rhoU) - ); - - solve(rhoUEqn == -fvc::grad(p)); - - solve - ( - fvm::ddt(rhoE) - + mvConvection.fvmDiv(phiv, rhoE) - == - - mvConvection.fvcDiv(phiv, p) - ); - - T = (rhoE - 0.5*rho*magSqr(rhoU/rho))/Cv/rho; - psi = 1.0/(R*T); - p = rho/psi; - - for (int corr=0; corr, limitFuncs::magSqr> - (mesh, phi, IStringStream("HbyA")()).weights(HbyA); - - phi = - ( - surfaceInterpolationScheme::interpolate - (HbyA, HbyAWeights) & mesh.Sf() - ) - + HbyAblend*fvc::ddtPhiCorr(rrhoUA, rho, rhoU, phi); - - p.boundaryField().updateCoeffs(); - - surfaceScalarField phiGradp = - rrhoUAf*mesh.magSf()*fvc::snGrad(p); - - phi -= phiGradp; - - #include "resetPhiPatches.H" - - surfaceScalarField rhof = - mvConvection.interpolationScheme()()(rho)() - .interpolate(rho); - - phiv = phi/rhof; - - fvScalarMatrix pEqn - ( - fvm::ddt(psi, p) - + mvConvection.fvcDiv(phiv, rho) - + fvc::div(phiGradp) - - fvm::laplacian(rrhoUAf, p) - ); - - pEqn.solve(); - - phi += phiGradp + pEqn.flux(); - rho = psi*p; - rhof = - mvConvection.interpolationScheme()()(rho)() - .interpolate(rho); - phiv = phi/rhof; - - rhoU = HbyA - rrhoUA*fvc::grad(p); - rhoU.correctBoundaryConditions(); - } - } - - U = rhoU/rho; - - runTime.write(); - - Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s" - << " ClockTime = " << runTime.elapsedClockTime() << " s" - << nl << endl; - } - - Info<< "End\n" << endl; - - return 0; -} - - -// ************************************************************************* // diff --git a/applications/solvers/compressible/sonicFoam/pEqn.H b/applications/solvers/compressible/sonicFoam/pEqn.H index 96a500d4c2..8d6040b530 100644 --- a/applications/solvers/compressible/sonicFoam/pEqn.H +++ b/applications/solvers/compressible/sonicFoam/pEqn.H @@ -1,7 +1,7 @@ rho = thermo.rho(); -volScalarField rUA = 1.0/UEqn.A(); -U = rUA*UEqn.H(); +volScalarField rAU = 1.0/UEqn.A(); +U = rAU*UEqn.H(); surfaceScalarField phid ( @@ -9,7 +9,7 @@ surfaceScalarField phid fvc::interpolate(psi) *( (fvc::interpolate(U) & mesh.Sf()) - + fvc::ddtPhiCorr(rUA, rho, U, phi) + + fvc::ddtPhiCorr(rAU, rho, U, phi) ) ); @@ -19,7 +19,7 @@ for (int nonOrth=0; nonOrth<=nNonOrthCorr; nonOrth++) ( fvm::ddt(psi, p) + fvm::div(phid, p) - - fvm::laplacian(rho*rUA, p) + - fvm::laplacian(rho*rAU, p) ); pEqn.solve(); @@ -33,5 +33,5 @@ for (int nonOrth=0; nonOrth<=nNonOrthCorr; nonOrth++) #include "rhoEqn.H" #include "compressibleContinuityErrs.H" -U -= rUA*fvc::grad(p); +U -= rAU*fvc::grad(p); U.correctBoundaryConditions(); diff --git a/applications/solvers/compressible/sonicLiquidFoam/sonicLiquidFoam.C b/applications/solvers/compressible/sonicLiquidFoam/sonicLiquidFoam.C index c785343af7..c92f3d82f9 100644 --- a/applications/solvers/compressible/sonicLiquidFoam/sonicLiquidFoam.C +++ b/applications/solvers/compressible/sonicLiquidFoam/sonicLiquidFoam.C @@ -71,8 +71,8 @@ int main(int argc, char *argv[]) for (int corr=0; corr UEqn +( + fvm::ddt(U) + + fvm::div(phi, U) + + turbulence->divDevReff(U) +); + +UEqn().relax(); + +rAU = 1.0/UEqn().A(); + +if (momentumPredictor) +{ + solve(UEqn() == -fvc::grad(p)); +} +else +{ + U = rAU*(UEqn().H() - fvc::grad(p)); + U.correctBoundaryConditions(); +} diff --git a/applications/solvers/incompressible/pisoFoam/pisoFoam.C b/applications/solvers/incompressible/pisoFoam/pisoFoam.C index 5f7e6dd8e0..47414bf173 100644 --- a/applications/solvers/incompressible/pisoFoam/pisoFoam.C +++ b/applications/solvers/incompressible/pisoFoam/pisoFoam.C @@ -79,11 +79,11 @@ int main(int argc, char *argv[]) for (int corr=0; corr p_rghEqnComp; @@ -24,27 +24,27 @@ } - U = rUA*UEqn.H(); + U = rAU*UEqn.H(); surfaceScalarField phiU ( "phiU", (fvc::interpolate(U) & mesh.Sf()) - + fvc::ddtPhiCorr(rUA, rho, U, phi) + + fvc::ddtPhiCorr(rAU, rho, U, phi) ); phi = phiU + ( fvc::interpolate(interface.sigmaK())*fvc::snGrad(alpha1) - ghf*fvc::snGrad(rho) - )*rUAf*mesh.magSf(); + )*rAUf*mesh.magSf(); for(int nonOrth=0; nonOrth<=nNonOrthCorr; nonOrth++) { fvScalarMatrix p_rghEqnIncomp ( fvc::div(phi) - - fvm::laplacian(rUAf, p_rgh) + - fvm::laplacian(rAUf, p_rgh) ); solve @@ -75,7 +75,7 @@ } } - U += rUA*fvc::reconstruct((phi - phiU)/rUAf); + U += rAU*fvc::reconstruct((phi - phiU)/rAUf); U.correctBoundaryConditions(); p = max diff --git a/applications/solvers/multiphase/compressibleInterFoam/pEqn.H b/applications/solvers/multiphase/compressibleInterFoam/pEqn.H index eefe6bec08..7054fe1d44 100644 --- a/applications/solvers/multiphase/compressibleInterFoam/pEqn.H +++ b/applications/solvers/multiphase/compressibleInterFoam/pEqn.H @@ -1,6 +1,6 @@ { - volScalarField rUA = 1.0/UEqn.A(); - surfaceScalarField rUAf = fvc::interpolate(rUA); + volScalarField rAU = 1.0/UEqn.A(); + surfaceScalarField rAUf = fvc::interpolate(rAU); tmp p_rghEqnComp; @@ -24,27 +24,27 @@ } - U = rUA*UEqn.H(); + U = rAU*UEqn.H(); surfaceScalarField phiU ( "phiU", (fvc::interpolate(U) & mesh.Sf()) - + fvc::ddtPhiCorr(rUA, rho, U, phi) + + fvc::ddtPhiCorr(rAU, rho, U, phi) ); phi = phiU + ( fvc::interpolate(interface.sigmaK())*fvc::snGrad(alpha1) - ghf*fvc::snGrad(rho) - )*rUAf*mesh.magSf(); + )*rAUf*mesh.magSf(); for (int nonOrth=0; nonOrth<=nNonOrthCorr; nonOrth++) { fvScalarMatrix p_rghEqnIncomp ( fvc::div(phi) - - fvm::laplacian(rUAf, p_rgh) + - fvm::laplacian(rAUf, p_rgh) ); solve @@ -75,7 +75,7 @@ } } - U += rUA*fvc::reconstruct((phi - phiU)/rUAf); + U += rAU*fvc::reconstruct((phi - phiU)/rAUf); U.correctBoundaryConditions(); p = max diff --git a/applications/solvers/multiphase/interPhaseChangeFoam/pEqn.H b/applications/solvers/multiphase/interPhaseChangeFoam/pEqn.H index cb42a4474a..4f4e68cb59 100644 --- a/applications/solvers/multiphase/interPhaseChangeFoam/pEqn.H +++ b/applications/solvers/multiphase/interPhaseChangeFoam/pEqn.H @@ -1,14 +1,14 @@ { - volScalarField rUA = 1.0/UEqn.A(); - surfaceScalarField rUAf = fvc::interpolate(rUA); + volScalarField rAU = 1.0/UEqn.A(); + surfaceScalarField rAUf = fvc::interpolate(rAU); - U = rUA*UEqn.H(); + U = rAU*UEqn.H(); surfaceScalarField phiU ( "phiU", (fvc::interpolate(U) & mesh.Sf()) - + fvc::ddtPhiCorr(rUA, rho, U, phi) + + fvc::ddtPhiCorr(rAU, rho, U, phi) ); adjustPhi(phiU, U, p_rgh); @@ -17,7 +17,7 @@ ( fvc::interpolate(interface.sigmaK())*fvc::snGrad(alpha1) - ghf*fvc::snGrad(rho) - )*rUAf*mesh.magSf(); + )*rAUf*mesh.magSf(); Pair > vDotP = twoPhaseProperties->vDotP(); const volScalarField& vDotcP = vDotP[0](); @@ -27,7 +27,7 @@ { fvScalarMatrix p_rghEqn ( - fvc::div(phi) - fvm::laplacian(rUAf, p_rgh) + fvc::div(phi) - fvm::laplacian(rAUf, p_rgh) - (vDotvP - vDotcP)*(pSat - rho*gh) + fvm::Sp(vDotvP - vDotcP, p_rgh) ); @@ -52,7 +52,7 @@ } } - U += rUA*fvc::reconstruct((phi - phiU)/rUAf); + U += rAU*fvc::reconstruct((phi - phiU)/rAUf); U.correctBoundaryConditions(); #include "continuityErrs.H" diff --git a/applications/solvers/multiphase/settlingFoam/pEqn.H b/applications/solvers/multiphase/settlingFoam/pEqn.H index 3d1e6816d7..806909ffe7 100644 --- a/applications/solvers/multiphase/settlingFoam/pEqn.H +++ b/applications/solvers/multiphase/settlingFoam/pEqn.H @@ -1,27 +1,27 @@ -volScalarField rUA = 1.0/UEqn.A(); +volScalarField rAU = 1.0/UEqn.A(); -surfaceScalarField rUAf +surfaceScalarField rAUf ( "(rho*(1|A(U)))", - fvc::interpolate(rho)*fvc::interpolate(rUA) + fvc::interpolate(rho)*fvc::interpolate(rAU) ); -U = rUA*UEqn.H(); +U = rAU*UEqn.H(); phi = fvc::interpolate(rho) *( (fvc::interpolate(U) & mesh.Sf()) - + fvc::ddtPhiCorr(rUA, rho, U, phi) + + fvc::ddtPhiCorr(rAU, rho, U, phi) ); surfaceScalarField phiU("phiU", phi); -phi -= ghf*fvc::snGrad(rho)*rUAf*mesh.magSf(); +phi -= ghf*fvc::snGrad(rho)*rAUf*mesh.magSf(); for (int nonOrth=0; nonOrth<=nNonOrthCorr; nonOrth++) { fvScalarMatrix p_rghEqn ( - fvm::laplacian(rUAf, p_rgh) == fvc::ddt(rho) + fvc::div(phi) + fvm::laplacian(rAUf, p_rgh) == fvc::ddt(rho) + fvc::div(phi) ); p_rghEqn.setReference(pRefCell, getRefCellValue(p_rgh, pRefCell)); @@ -49,5 +49,5 @@ if (p_rgh.needReference()) #include "rhoEqn.H" #include "compressibleContinuityErrs.H" -U += rUA*fvc::reconstruct((phi - phiU)/rUAf); +U += rAU*fvc::reconstruct((phi - phiU)/rAUf); U.correctBoundaryConditions(); diff --git a/applications/test/LduMatrix/LduMatrixTest3.C b/applications/test/LduMatrix/LduMatrixTest3.C index 741e07d990..35e8a4ab85 100644 --- a/applications/test/LduMatrix/LduMatrixTest3.C +++ b/applications/test/LduMatrix/LduMatrixTest3.C @@ -102,11 +102,11 @@ int main(int argc, char *argv[]) for (int corr=0; corr vsFlds; + ReadFields(mesh, objects, vsFlds); - PtrList vsFlds; - ReadFields(mesh, objects, vsFlds); + PtrList vvFlds; + ReadFields(mesh, objects, vvFlds); - PtrList vvFlds; - ReadFields(mesh, objects, vvFlds); + PtrList vstFlds; + ReadFields(mesh, objects, vstFlds); - PtrList vstFlds; - ReadFields(mesh, objects, vstFlds); + PtrList vsymtFlds; + ReadFields(mesh, objects, vsymtFlds); - PtrList vsymtFlds; - ReadFields(mesh, objects, vsymtFlds); + PtrList vtFlds; + ReadFields(mesh, objects, vtFlds); - PtrList vtFlds; - ReadFields(mesh, objects, vtFlds); + // Read surface fields. - // Read surface fields. + PtrList ssFlds; + ReadFields(mesh, objects, ssFlds); - PtrList ssFlds; - ReadFields(mesh, objects, ssFlds); + PtrList svFlds; + ReadFields(mesh, objects, svFlds); - PtrList svFlds; - ReadFields(mesh, objects, svFlds); + PtrList sstFlds; + ReadFields(mesh, objects, sstFlds); - PtrList sstFlds; - ReadFields(mesh, objects, sstFlds); - - PtrList ssymtFlds; - ReadFields(mesh, objects, ssymtFlds); - - PtrList stFlds; - ReadFields(mesh, objects, stFlds); + PtrList ssymtFlds; + ReadFields(mesh, objects, ssymtFlds); + PtrList stFlds; + ReadFields(mesh, objects, stFlds); + } + else + { + Info<< "Not updating geometric fields" << nl << endl; + } // Mesh change container polyTopoChange meshMod(mesh); diff --git a/src/finiteVolume/cfdTools/general/fieldSources/pressureGradientExplicitSource/pressureGradientExplicitSource.C b/src/finiteVolume/cfdTools/general/fieldSources/pressureGradientExplicitSource/pressureGradientExplicitSource.C index c08ded14a2..fd0ed25b2c 100644 --- a/src/finiteVolume/cfdTools/general/fieldSources/pressureGradientExplicitSource/pressureGradientExplicitSource.C +++ b/src/finiteVolume/cfdTools/general/fieldSources/pressureGradientExplicitSource/pressureGradientExplicitSource.C @@ -161,13 +161,13 @@ Foam::pressureGradientExplicitSource::Su() const void Foam::pressureGradientExplicitSource::update() { - const volScalarField& rUA = + const volScalarField& rAU = mesh_.lookupObject("(1|A(" + U_.name() + "))"); // Integrate flow variables over cell set scalar volTot = 0.0; scalar magUbarAve = 0.0; - scalar rUAave = 0.0; + scalar rAUave = 0.0; forAllConstIter(cellSet, selectedCellSet_, iter) { label cellI = iter.key(); @@ -176,27 +176,27 @@ void Foam::pressureGradientExplicitSource::update() volTot += volCell; magUbarAve += (flowDir_ & U_[cellI])*volCell; - rUAave += rUA[cellI]*volCell; + rAUave += rAU[cellI]*volCell; } // Collect across all processors reduce(volTot, sumOp()); reduce(magUbarAve, sumOp()); - reduce(rUAave, sumOp()); + reduce(rAUave, sumOp()); // Volume averages magUbarAve /= volTot; - rUAave /= volTot; + rAUave /= volTot; // Calculate the pressure gradient increment needed to adjust the average // flow-rate to the desired value - scalar gradPplus = (mag(Ubar_) - magUbarAve)/rUAave; + scalar gradPplus = (mag(Ubar_) - magUbarAve)/rAUave; // Apply correction to velocity field forAllConstIter(cellSet, selectedCellSet_, iter) { label cellI = iter.key(); - U_[cellI] += flowDir_*rUA[cellI]*gradPplus; + U_[cellI] += flowDir_*rAU[cellI]*gradPplus; } // Update pressure gradient diff --git a/src/surfaceFilmModels/surfaceFilmModel/kinematicSingleLayer/kinematicSingleLayer.C b/src/surfaceFilmModels/surfaceFilmModel/kinematicSingleLayer/kinematicSingleLayer.C index 5655c4b6e9..5c81e24cc3 100644 --- a/src/surfaceFilmModels/surfaceFilmModel/kinematicSingleLayer/kinematicSingleLayer.C +++ b/src/surfaceFilmModels/surfaceFilmModel/kinematicSingleLayer/kinematicSingleLayer.C @@ -1,1253 +1,1253 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 2009-2010 OpenCFD Ltd. - \\/ M anipulation | -------------------------------------------------------------------------------- -License - This file is part of OpenFOAM. - - OpenFOAM is free software: you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - OpenFOAM is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - for more details. - - You should have received a copy of the GNU General Public License - along with OpenFOAM. If not, see . - -\*---------------------------------------------------------------------------*/ - -#include "kinematicSingleLayer.H" -#include "fvm.H" -#include "fvcDiv.H" -#include "fvcLaplacian.H" -#include "fvcSnGrad.H" -#include "fvcReconstruct.H" -#include "fvcVolumeIntegrate.H" -#include "addToRunTimeSelectionTable.H" -#include "directMappedWallPolyPatch.H" - -// Sub-models -#include "injectionModel.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ - namespace surfaceFilmModels - { - defineTypeNameAndDebug(kinematicSingleLayer, 0); - addToRunTimeSelectionTable - ( - surfaceFilmModel, - kinematicSingleLayer, - mesh - ); - } -} - - -// * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * // - -bool Foam::surfaceFilmModels::kinematicSingleLayer::read() -{ - if (surfaceFilmModel::read()) - { - solution().lookup("momentumPredictor") >> momentumPredictor_; - solution().lookup("nOuterCorr") >> nOuterCorr_; - solution().lookup("nCorr") >> nCorr_; - solution().lookup("nNonOrthCorr") >> nNonOrthCorr_; - - coeffs_.lookup("Cf") >> Cf_; - - return true; - } - else - { - return false; - } -} - - -void Foam::surfaceFilmModels::kinematicSingleLayer::initialise() -{ - if (debug) - { - Pout<< "kinematicSingleLayer::initialise()" << endl; - } - - label nBoundaryFaces = 0; - DynamicList