diff --git a/applications/solvers/combustion/PDRFoam/EaEqn.H b/applications/solvers/combustion/PDRFoam/EaEqn.H index 03d13f2693..1baaa7180f 100644 --- a/applications/solvers/combustion/PDRFoam/EaEqn.H +++ b/applications/solvers/combustion/PDRFoam/EaEqn.H @@ -7,7 +7,12 @@ + betav*fvc::ddt(rho, K) + fvc::div(phi, K) + ( hea.name() == "ea" - ? fvc::div(phi, volScalarField("Ep", p/rho)) + ? fvc::div + ( + phi/fvc::interpolate(rho), + p, + "div(phiv,p)" + ) : -betav*dpdt ) - fvm::laplacian(Db, hea) diff --git a/applications/solvers/combustion/PDRFoam/EauEqn.H b/applications/solvers/combustion/PDRFoam/EauEqn.H index 96412cc3c3..f031d90732 100644 --- a/applications/solvers/combustion/PDRFoam/EauEqn.H +++ b/applications/solvers/combustion/PDRFoam/EauEqn.H @@ -8,7 +8,12 @@ if (ign.ignited()) + (betav*fvc::ddt(rho, K) + fvc::div(phi, K))*rho/thermo.rhou() + ( heau.name() == "eau" - ? fvc::div(phi, volScalarField("Ep", p/rho))*rho/thermo.rhou() + ? fvc::div + ( + phi/fvc::interpolate(rho), + p, + "div(phiv,p)" + )*rho/thermo.rhou() : -betav*dpdt*rho/thermo.rhou() ) - fvm::laplacian(Db, heau) diff --git a/applications/solvers/combustion/PDRFoam/PDRModels/turbulence/PDRkEpsilon/PDRkEpsilon.C b/applications/solvers/combustion/PDRFoam/PDRModels/turbulence/PDRkEpsilon/PDRkEpsilon.C index 79b9fb7756..44c4f6052f 100644 --- a/applications/solvers/combustion/PDRFoam/PDRModels/turbulence/PDRkEpsilon/PDRkEpsilon.C +++ b/applications/solvers/combustion/PDRFoam/PDRModels/turbulence/PDRkEpsilon/PDRkEpsilon.C @@ -116,7 +116,7 @@ void PDRkEpsilon::correct() } tmp tgradU = fvc::grad(U_); - volScalarField G("RASModel::G", mut_*(tgradU() && dev(twoSymm(tgradU())))); + volScalarField G("RASModel.G", mut_*(tgradU() && dev(twoSymm(tgradU())))); tgradU.clear(); // Update espsilon and G at the wall diff --git a/applications/solvers/combustion/XiFoam/EaEqn.H b/applications/solvers/combustion/XiFoam/EaEqn.H index a9e72b4627..6840c4eb6d 100644 --- a/applications/solvers/combustion/XiFoam/EaEqn.H +++ b/applications/solvers/combustion/XiFoam/EaEqn.H @@ -7,7 +7,12 @@ + fvc::ddt(rho, K) + fvc::div(phi, K) + ( hea.name() == "ea" - ? fvc::div(phi, volScalarField("Ep", p/rho)) + ? fvc::div + ( + fvc::absolute(phi/fvc::interpolate(rho), U), + p, + "div(phiv,p)" + ) : -dpdt ) - fvm::laplacian(turbulence->alphaEff(), hea) diff --git a/applications/solvers/combustion/XiFoam/EauEqn.H b/applications/solvers/combustion/XiFoam/EauEqn.H index 0d81bd6e60..b13a63bb60 100644 --- a/applications/solvers/combustion/XiFoam/EauEqn.H +++ b/applications/solvers/combustion/XiFoam/EauEqn.H @@ -8,7 +8,12 @@ if (ign.ignited()) + (fvc::ddt(rho, K) + fvc::div(phi, K))*rho/thermo.rhou() + ( heau.name() == "eau" - ? fvc::div(phi, volScalarField("Ep", p/rho))*rho/thermo.rhou() + ? fvc::div + ( + fvc::absolute(phi/fvc::interpolate(rho), U), + p, + "div(phiv,p)" + )*rho/thermo.rhou() : -dpdt*rho/thermo.rhou() ) - fvm::laplacian(turbulence->alphaEff(), heau) diff --git a/applications/solvers/combustion/engineFoam/pEqn.H b/applications/solvers/combustion/engineFoam/pEqn.H index d66cdd8130..7b005cc311 100644 --- a/applications/solvers/combustion/engineFoam/pEqn.H +++ b/applications/solvers/combustion/engineFoam/pEqn.H @@ -66,5 +66,5 @@ K = 0.5*magSqr(U); if (thermo.dpdt()) { - dpdt = fvc::ddt(p); + dpdt = fvc::ddt(p) - fvc::div(fvc::meshPhi(rho, U), p); } diff --git a/applications/solvers/combustion/fireFoam/YEEqn.H b/applications/solvers/combustion/fireFoam/YEEqn.H index 340cfc63b1..f979d3bb7d 100644 --- a/applications/solvers/combustion/fireFoam/YEEqn.H +++ b/applications/solvers/combustion/fireFoam/YEEqn.H @@ -55,7 +55,12 @@ tmp > mvConvection + fvc::ddt(rho, K) + fvc::div(phi, K) + ( he.name() == "e" - ? fvc::div(phi, volScalarField("Ep", p/rho)) + ? fvc::div + ( + fvc::absolute(phi/fvc::interpolate(rho), U), + p, + "div(phiv,p)" + ) : -dpdt ) - fvm::laplacian(turbulence->alphaEff(), he) diff --git a/applications/solvers/combustion/reactingFoam/EEqn.H b/applications/solvers/combustion/reactingFoam/EEqn.H index 33dbc46287..e1bf055604 100644 --- a/applications/solvers/combustion/reactingFoam/EEqn.H +++ b/applications/solvers/combustion/reactingFoam/EEqn.H @@ -7,7 +7,12 @@ + fvc::ddt(rho, K) + fvc::div(phi, K) + ( he.name() == "e" - ? fvc::div(phi, volScalarField("Ep", p/rho)) + ? fvc::div + ( + fvc::absolute(phi/fvc::interpolate(rho), U), + p, + "div(phiv,p)" + ) : -dpdt ) - fvm::laplacian(turbulence->alphaEff(), he) diff --git a/applications/solvers/compressible/rhoCentralFoam/Allwmake b/applications/solvers/compressible/rhoCentralFoam/Allwmake index 671c640231..33e08e1076 100755 --- a/applications/solvers/compressible/rhoCentralFoam/Allwmake +++ b/applications/solvers/compressible/rhoCentralFoam/Allwmake @@ -2,8 +2,6 @@ cd ${0%/*} || exit 1 # run from this directory set -x -wmake libso BCs -wmake -wmake rhoCentralDyMFoam +(wmake libso BCs && wmake && wmake rhoCentralDyMFoam) # ----------------------------------------------------------------- end-of-file diff --git a/applications/solvers/compressible/rhoCentralFoam/BCs/U/maxwellSlipUFvPatchVectorField.C b/applications/solvers/compressible/rhoCentralFoam/BCs/U/maxwellSlipUFvPatchVectorField.C index c65d8618f1..875e42683e 100644 --- a/applications/solvers/compressible/rhoCentralFoam/BCs/U/maxwellSlipUFvPatchVectorField.C +++ b/applications/solvers/compressible/rhoCentralFoam/BCs/U/maxwellSlipUFvPatchVectorField.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -195,10 +195,8 @@ void maxwellSlipUFvPatchVectorField::write(Ostream& os) const << thermalCreep_ << token::END_STATEMENT << nl; os.writeKeyword("curvature") << curvature_ << token::END_STATEMENT << nl; - os.writeKeyword("refValue") - << refValue() << token::END_STATEMENT << nl; - os.writeKeyword("valueFraction") - << valueFraction() << token::END_STATEMENT << nl; + refValue().writeEntry("refValue", os); + valueFraction().writeEntry("valueFraction", os); writeEntry("value", os); } diff --git a/applications/solvers/compressible/rhoPimpleFoam/EEqn.H b/applications/solvers/compressible/rhoPimpleFoam/EEqn.H index 3ad3c0f03e..6288b8a0af 100644 --- a/applications/solvers/compressible/rhoPimpleFoam/EEqn.H +++ b/applications/solvers/compressible/rhoPimpleFoam/EEqn.H @@ -7,7 +7,12 @@ + fvc::ddt(rho, K) + fvc::div(phi, K) + ( he.name() == "e" - ? fvc::div(phi, volScalarField("Ep", p/rho)) + ? fvc::div + ( + fvc::absolute(phi/fvc::interpolate(rho), U), + p, + "div(phiv,p)" + ) : -dpdt ) - fvm::laplacian(turbulence->alphaEff(), he) diff --git a/applications/solvers/compressible/sonicFoam/EEqn.H b/applications/solvers/compressible/sonicFoam/EEqn.H index 15979381a9..f10474c587 100644 --- a/applications/solvers/compressible/sonicFoam/EEqn.H +++ b/applications/solvers/compressible/sonicFoam/EEqn.H @@ -2,7 +2,8 @@ solve ( fvm::ddt(rho, e) + fvm::div(phi, e) - + fvc::ddt(rho, K) + fvc::div(phi, volScalarField("Ekp", K + p/rho)) + + fvc::ddt(rho, K) + fvc::div(phi, K) + + fvc::div(fvc::absolute(phi/fvc::interpolate(rho), U), p, "div(phiv,p)") - fvm::laplacian(turbulence->alphaEff(), e) ); diff --git a/applications/solvers/compressible/sonicFoam/sonicDyMFoam/EEqn.H b/applications/solvers/compressible/sonicFoam/sonicDyMFoam/EEqn.H deleted file mode 100644 index 994c2862b8..0000000000 --- a/applications/solvers/compressible/sonicFoam/sonicDyMFoam/EEqn.H +++ /dev/null @@ -1,11 +0,0 @@ -{ - solve - ( - fvm::ddt(rho, e) + fvm::div(phi, e) - + fvc::ddt(rho, K) + fvc::div(phi, K) - + fvc::div(phi/fvc::interpolate(rho) + mesh.phi(), p, "div(phiv,p)") - - fvm::laplacian(turbulence->alphaEff(), e) - ); - - thermo.correct(); -} diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/solid/createSolidFields.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/solid/createSolidFields.H index dbdc018950..b435b88d7f 100644 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/solid/createSolidFields.H +++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/solid/createSolidFields.H @@ -1,5 +1,6 @@ // Initialise solid field pointer lists PtrList thermos(solidRegions.size()); + PtrList radiations(solidRegions.size()); // Populate solid field pointer lists forAll(solidRegions, i) @@ -13,4 +14,7 @@ i, solidThermo::New(solidRegions[i]) ); + + Info<< " Adding to radiations\n" << endl; + radiations.set(i, radiation::radiationModel::New(thermos[i].T())); } diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/solid/setRegionSolidFields.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/solid/setRegionSolidFields.H index e8e21cd63b..78c937d29e 100644 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/solid/setRegionSolidFields.H +++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/solid/setRegionSolidFields.H @@ -1,5 +1,6 @@ fvMesh& mesh = solidRegions[i]; solidThermo& thermo = thermos[i]; + const radiation::radiationModel& radiation = radiations[i]; tmp trho = thermo.rho(); const volScalarField& rho = trho(); diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/EEqn.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/EEqn.H index c5680e7777..9f41c9eb37 100644 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/EEqn.H +++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/EEqn.H @@ -7,7 +7,12 @@ + fvc::ddt(rho, K) + fvc::div(phi, K) + ( he.name() == "e" - ? fvc::div(phi, volScalarField("Ep", p/rho)) + ? fvc::div + ( + fvc::absolute(phi/fvc::interpolate(rho), U), + p, + "div(phiv,p)" + ) : -dpdt ) - fvm::laplacian(turb.alphaEff(), he) diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/solid/createSolidFields.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/solid/createSolidFields.H index cbeaf37fce..2a543a4d6f 100644 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/solid/createSolidFields.H +++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/solid/createSolidFields.H @@ -1,5 +1,6 @@ // Initialise solid field pointer lists PtrList thermos(solidRegions.size()); + PtrList radiations(solidRegions.size()); // Populate solid field pointer lists forAll(solidRegions, i) @@ -9,4 +10,7 @@ Info<< " Adding to thermos\n" << endl; thermos.set(i, solidThermo::New(solidRegions[i])); + + Info<< " Adding to radiations\n" << endl; + radiations.set(i, radiation::radiationModel::New(thermos[i].T())); } diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/solid/setRegionSolidFields.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/solid/setRegionSolidFields.H index 0968002e55..788383e5ec 100644 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/solid/setRegionSolidFields.H +++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/solid/setRegionSolidFields.H @@ -1,5 +1,6 @@ fvMesh& mesh = solidRegions[i]; solidThermo& thermo = thermos[i]; + const radiation::radiationModel& radiation = radiations[i]; tmp trho = thermo.rho(); const volScalarField& rho = trho(); diff --git a/applications/solvers/lagrangian/coalChemistryFoam/EEqn.H b/applications/solvers/lagrangian/coalChemistryFoam/EEqn.H index 006d2231f4..92219b9879 100644 --- a/applications/solvers/lagrangian/coalChemistryFoam/EEqn.H +++ b/applications/solvers/lagrangian/coalChemistryFoam/EEqn.H @@ -7,7 +7,12 @@ + fvc::ddt(rho, K) + fvc::div(phi, K) + ( he.name() == "e" - ? fvc::div(phi, volScalarField("Ep", p/rho)) + ? fvc::div + ( + fvc::absolute(phi/fvc::interpolate(rho), U), + p, + "div(phiv,p)" + ) : -dpdt ) - fvm::laplacian(turbulence->alphaEff(), he) diff --git a/applications/solvers/lagrangian/reactingParcelFilmFoam/EEqn.H b/applications/solvers/lagrangian/reactingParcelFilmFoam/EEqn.H index cdc475d42f..f5a909a9dd 100644 --- a/applications/solvers/lagrangian/reactingParcelFilmFoam/EEqn.H +++ b/applications/solvers/lagrangian/reactingParcelFilmFoam/EEqn.H @@ -7,7 +7,12 @@ + fvc::ddt(rho, K) + fvc::div(phi, K) + ( he.name() == "e" - ? fvc::div(phi, volScalarField("Ep", p/rho)) + ? fvc::div + ( + fvc::absolute(phi/fvc::interpolate(rho), U), + p, + "div(phiv,p)" + ) : -dpdt ) - fvm::laplacian(turbulence->alphaEff(), he) diff --git a/applications/solvers/lagrangian/reactingParcelFoam/EEqn.H b/applications/solvers/lagrangian/reactingParcelFoam/EEqn.H index 14996cfdf5..c8ef9bf84e 100644 --- a/applications/solvers/lagrangian/reactingParcelFoam/EEqn.H +++ b/applications/solvers/lagrangian/reactingParcelFoam/EEqn.H @@ -7,7 +7,12 @@ + fvc::ddt(rho, K) + fvc::div(phi, K) + ( he.name() == "e" - ? fvc::div(phi, volScalarField("Ep", p/rho)) + ? fvc::div + ( + fvc::absolute(phi/fvc::interpolate(rho), U), + p, + "div(phiv,p)" + ) : -dpdt ) - fvm::laplacian(turbulence->alphaEff(), he) diff --git a/applications/solvers/lagrangian/sprayFoam/sprayEngineFoam/pEqn.H b/applications/solvers/lagrangian/sprayFoam/sprayEngineFoam/pEqn.H index 475077d317..0301fba2ea 100644 --- a/applications/solvers/lagrangian/sprayFoam/sprayEngineFoam/pEqn.H +++ b/applications/solvers/lagrangian/sprayFoam/sprayEngineFoam/pEqn.H @@ -79,5 +79,5 @@ K = 0.5*magSqr(U); if (thermo.dpdt()) { - dpdt = fvc::ddt(p); + dpdt = fvc::ddt(p) - fvc::div(fvc::meshPhi(rho, U), p); } diff --git a/applications/test/dimensionedType/Test-dimensionedType.C b/applications/test/dimensionedType/Test-dimensionedType.C index 5c826d256f..ccf56fff6b 100644 --- a/applications/test/dimensionedType/Test-dimensionedType.C +++ b/applications/test/dimensionedType/Test-dimensionedType.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -41,6 +41,45 @@ int main(int argc, char *argv[]) Info<< ds*dt << " " << dt*ds << endl; + + // dimensionSet + { + Pout<< "dimensionSet construct from is:" + << dimensionSet(IStringStream("[Pa m^2 s^-2]")()) + << endl; + + IStringStream is("[Pa m^2 s^-2]"); + dimensionSet dset(dimless); + is >> dset; + Pout<< "dimensionSet read:" << dset << endl; + } + // dimensionedType + { + Pout<< "construct from is:" + << dimensionedScalar(IStringStream("bla [Pa mm^2 s^-2] 3.0")()) + << endl; + Pout<< "construct from name,is:" + << dimensionedScalar + ( + "ABC", + IStringStream("[Pa mm^2 s^-2] 3.0")() + ) << endl; + Pout<< "construct from name,dimensionSet,is:" + << dimensionedScalar + ( + "ABC", + dimLength, + IStringStream("bla [mm] 3.0")() + ) << endl; + { + IStringStream is("bla [mm] 3.0"); + dimensionedScalar ds; + is >> ds; + Pout<< "read:" << ds << endl; + } + } + + Info<< "End\n" << endl; return 0; diff --git a/applications/utilities/mesh/generation/snappyHexMesh/snappyHexMeshDict b/applications/utilities/mesh/generation/snappyHexMesh/snappyHexMeshDict index ef479dbbbb..b3be8fe96f 100644 --- a/applications/utilities/mesh/generation/snappyHexMesh/snappyHexMeshDict +++ b/applications/utilities/mesh/generation/snappyHexMesh/snappyHexMeshDict @@ -310,6 +310,10 @@ addLayersControls // make straight angle. featureAngle 60; + //- At non-patched sides allow mesh to slip if extrusion direction makes + // angle larger than slipFeatureAngle. + slipFeatureAngle 30; + //- Maximum number of snapping relaxation iterations. Should stop // before upon reaching a correct mesh. nRelaxIter 5; diff --git a/applications/utilities/mesh/manipulation/checkMesh/checkTopology.C b/applications/utilities/mesh/manipulation/checkMesh/checkTopology.C index 28930c573f..39e7375a67 100644 --- a/applications/utilities/mesh/manipulation/checkMesh/checkTopology.C +++ b/applications/utilities/mesh/manipulation/checkMesh/checkTopology.C @@ -7,6 +7,7 @@ #include "pointSet.H" #include "IOmanip.H" #include "emptyPolyPatch.H" +#include "processorPolyPatch.H" Foam::label Foam::checkTopology ( @@ -289,10 +290,18 @@ Foam::label Foam::checkTopology } } - if (!Pstream::parRun()) + { - Pout<< "\nChecking patch topology for multiply connected surfaces ..." - << endl; + if (!Pstream::parRun()) + { + Info<< "\nChecking patch topology for multiply connected" + << " surfaces..." << endl; + } + else + { + Info<< "\nChecking basic patch addressing..." << endl; + } + const polyBoundaryMesh& patches = mesh.boundaryMesh(); @@ -301,90 +310,101 @@ Foam::label Foam::checkTopology ( mesh, "nonManifoldPoints", - mesh.nPoints()/100 + mesh.nPoints()/1000 ); Pout.setf(ios_base::left); - Pout<< " " + Info<< " " << setw(20) << "Patch" << setw(9) << "Faces" - << setw(9) << "Points" - << setw(34) << "Surface topology"; + << setw(9) << "Points"; + if (!Pstream::parRun()) + { + Info<< setw(34) << "Surface topology"; + } if (allGeometry) { - Pout<< " Bounding box"; + Info<< " Bounding box"; } - Pout<< endl; + Info<< endl; forAll(patches, patchI) { const polyPatch& pp = patches[patchI]; - Pout<< " " + if (!isA(pp)) + { + Info<< " " << setw(20) << pp.name() - << setw(9) << pp.size() - << setw(9) << pp.nPoints(); + << setw(9) << returnReduce(pp.size(), sumOp