diff --git a/applications/solvers/compressible/rhoCentralFoam/BCs/T/smoluchowskiJumpTFvPatchScalarField.C b/applications/solvers/compressible/rhoCentralFoam/BCs/T/smoluchowskiJumpTFvPatchScalarField.C index a6d98559a7..24ce0fe938 100644 --- a/applications/solvers/compressible/rhoCentralFoam/BCs/T/smoluchowskiJumpTFvPatchScalarField.C +++ b/applications/solvers/compressible/rhoCentralFoam/BCs/T/smoluchowskiJumpTFvPatchScalarField.C @@ -29,14 +29,9 @@ License #include "volFields.H" #include "mathematicalConstants.H" -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // -smoluchowskiJumpTFvPatchScalarField::smoluchowskiJumpTFvPatchScalarField +Foam::smoluchowskiJumpTFvPatchScalarField::smoluchowskiJumpTFvPatchScalarField ( const fvPatch& p, const DimensionedField& iF @@ -52,7 +47,8 @@ smoluchowskiJumpTFvPatchScalarField::smoluchowskiJumpTFvPatchScalarField valueFraction() = 0.0; } -smoluchowskiJumpTFvPatchScalarField::smoluchowskiJumpTFvPatchScalarField + +Foam::smoluchowskiJumpTFvPatchScalarField::smoluchowskiJumpTFvPatchScalarField ( const smoluchowskiJumpTFvPatchScalarField& ptf, const fvPatch& p, @@ -67,7 +63,7 @@ smoluchowskiJumpTFvPatchScalarField::smoluchowskiJumpTFvPatchScalarField {} -smoluchowskiJumpTFvPatchScalarField::smoluchowskiJumpTFvPatchScalarField +Foam::smoluchowskiJumpTFvPatchScalarField::smoluchowskiJumpTFvPatchScalarField ( const fvPatch& p, const DimensionedField& iF, @@ -118,7 +114,7 @@ smoluchowskiJumpTFvPatchScalarField::smoluchowskiJumpTFvPatchScalarField } -smoluchowskiJumpTFvPatchScalarField::smoluchowskiJumpTFvPatchScalarField +Foam::smoluchowskiJumpTFvPatchScalarField::smoluchowskiJumpTFvPatchScalarField ( const smoluchowskiJumpTFvPatchScalarField& ptpsf, const DimensionedField& iF @@ -134,7 +130,7 @@ smoluchowskiJumpTFvPatchScalarField::smoluchowskiJumpTFvPatchScalarField // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // // Map from self -void smoluchowskiJumpTFvPatchScalarField::autoMap +void Foam::smoluchowskiJumpTFvPatchScalarField::autoMap ( const fvPatchFieldMapper& m ) @@ -144,7 +140,7 @@ void smoluchowskiJumpTFvPatchScalarField::autoMap // Reverse-map the given fvPatchField onto this fvPatchField -void smoluchowskiJumpTFvPatchScalarField::rmap +void Foam::smoluchowskiJumpTFvPatchScalarField::rmap ( const fvPatchField& ptf, const labelList& addr @@ -155,7 +151,7 @@ void smoluchowskiJumpTFvPatchScalarField::rmap // Update the coefficients associated with the patch field -void smoluchowskiJumpTFvPatchScalarField::updateCoeffs() +void Foam::smoluchowskiJumpTFvPatchScalarField::updateCoeffs() { if (updated()) { @@ -174,11 +170,16 @@ void smoluchowskiJumpTFvPatchScalarField::updateCoeffs() // Prandtl number reading consistent with rhoCentralFoam const dictionary& thermophysicalProperties = db().lookupObject("thermophysicalProperties"); - dimensionedScalar Pr = dimensionedScalar("Pr", dimless, 1.0); - if (thermophysicalProperties.found("Pr")) - { - Pr = thermophysicalProperties.lookup("Pr"); - } + + dimensionedScalar Pr + ( + dimensionedScalar::lookupOrDefault + ( + "Pr", + thermophysicalProperties, + 1.0 + ) + ); Field C2 = pmu/prho *sqrt(ppsi*constant::mathematical::piByTwo) @@ -197,7 +198,7 @@ void smoluchowskiJumpTFvPatchScalarField::updateCoeffs() // Write -void smoluchowskiJumpTFvPatchScalarField::write(Ostream& os) const +void Foam::smoluchowskiJumpTFvPatchScalarField::write(Ostream& os) const { fvPatchScalarField::write(os); os.writeKeyword("accommodationCoeff") @@ -211,10 +212,12 @@ void smoluchowskiJumpTFvPatchScalarField::write(Ostream& os) const // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +namespace Foam +{ + makePatchTypeField(fvPatchScalarField, smoluchowskiJumpTFvPatchScalarField); -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +} -} // End namespace Foam // ************************************************************************* // diff --git a/applications/solvers/compressible/rhoCentralFoam/readFluxScheme.H b/applications/solvers/compressible/rhoCentralFoam/readFluxScheme.H index 9f54c43ef3..13f8f02c9c 100644 --- a/applications/solvers/compressible/rhoCentralFoam/readFluxScheme.H +++ b/applications/solvers/compressible/rhoCentralFoam/readFluxScheme.H @@ -1,7 +1,6 @@ word fluxScheme("Kurganov"); -if (mesh.schemesDict().found("fluxScheme")) +if (mesh.schemesDict().readIfPresent("fluxScheme", fluxScheme)) { - fluxScheme = word(mesh.schemesDict().lookup("fluxScheme")); if ((fluxScheme == "Tadmor") || (fluxScheme == "Kurganov")) { Info<< "fluxScheme: " << fluxScheme << endl; diff --git a/applications/solvers/compressible/rhoCentralFoam/readThermophysicalProperties.H b/applications/solvers/compressible/rhoCentralFoam/readThermophysicalProperties.H index 5a63169d12..f9e309ffec 100644 --- a/applications/solvers/compressible/rhoCentralFoam/readThermophysicalProperties.H +++ b/applications/solvers/compressible/rhoCentralFoam/readThermophysicalProperties.H @@ -14,9 +14,13 @@ IOdictionary thermophysicalProperties ) ); -dimensionedScalar Pr = dimensionedScalar("Pr", dimless, 1.0); +dimensionedScalar Pr +( + dimensionedScalar::lookupOrDefault + ( + "Pr", + thermophysicalProperties, + 1.0 + ) +); -if (thermophysicalProperties.found("Pr")) -{ - Pr = thermophysicalProperties.lookup("Pr"); -} diff --git a/applications/solvers/compressible/rhoPorousSimpleFoam/createFields.H b/applications/solvers/compressible/rhoPorousSimpleFoam/createFields.H index 5285e6e3b2..efad823a91 100644 --- a/applications/solvers/compressible/rhoPorousSimpleFoam/createFields.H +++ b/applications/solvers/compressible/rhoPorousSimpleFoam/createFields.H @@ -70,22 +70,13 @@ dimensionedScalar initialMass = fvc::domainIntegrate(rho); thermalPorousZones pZones(mesh); - Switch pressureImplicitPorosity(false); + // nUCorrectors used for pressureImplicitPorosity int nUCorr = 0; - if (pZones.size()) - { - // nUCorrectors for pressureImplicitPorosity - if (mesh.solutionDict().subDict("SIMPLE").found("nUCorrectors")) - { - nUCorr = readInt - ( - mesh.solutionDict().subDict("SIMPLE").lookup("nUCorrectors") - ); - } + const bool pressureImplicitPorosity = + ( + pZones.size() + && mesh.solutionDict().subDict("SIMPLE").readIfPresent("nUCorrectors", nUCorr) + && (nUCorr > 0) + ); - if (nUCorr > 0) - { - pressureImplicitPorosity = true; - } - } diff --git a/applications/solvers/compressible/rhopSonicFoam/readThermodynamicProperties.H b/applications/solvers/compressible/rhopSonicFoam/readThermodynamicProperties.H index 2be7ce63ff..2064187a2f 100644 --- a/applications/solvers/compressible/rhopSonicFoam/readThermodynamicProperties.H +++ b/applications/solvers/compressible/rhopSonicFoam/readThermodynamicProperties.H @@ -26,8 +26,13 @@ dimensionedScalar gamma = Cp/Cv; - dimensionedScalar Pr = dimensionedScalar("Pr", dimless, 1.0); - if (thermodynamicProperties.found("Pr")) - { - Pr = thermodynamicProperties.lookup("Pr"); - } + dimensionedScalar Pr + ( + dimensionedScalar::lookupOrDefault + ( + "Pr", + thermodynamicProperties, + 1.0 + ) + ); + diff --git a/applications/solvers/electromagnetics/mhdFoam/readBPISOControls.H b/applications/solvers/electromagnetics/mhdFoam/readBPISOControls.H index 4363850cdf..5ddbdab95e 100644 --- a/applications/solvers/electromagnetics/mhdFoam/readBPISOControls.H +++ b/applications/solvers/electromagnetics/mhdFoam/readBPISOControls.H @@ -1,3 +1,4 @@ -const dictionary& Bpiso = mesh.solutionDict().subDict("BPISO"); + const dictionary& Bpiso = mesh.solutionDict().subDict("BPISO"); + + const int nBcorr = Bpiso.lookupOrDefault("nCorrectors", 1); -int nBcorr(readInt(Bpiso.lookup("nCorrectors"))); diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/fluid/readFluidMultiRegionSIMPLEControls.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/fluid/readFluidMultiRegionSIMPLEControls.H index 3054562d5d..f8a11b7159 100644 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/fluid/readFluidMultiRegionSIMPLEControls.H +++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/fluid/readFluidMultiRegionSIMPLEControls.H @@ -1,25 +1,11 @@ - dictionary simple = fluidRegions[i].solutionDict().subDict("SIMPLE"); + const dictionary& simple = fluidRegions[i].solutionDict().subDict("SIMPLE"); - int nNonOrthCorr = 0; - if (simple.found("nNonOrthogonalCorrectors")) - { - nNonOrthCorr = readInt(simple.lookup("nNonOrthogonalCorrectors")); - } + const int nNonOrthCorr = + simple.lookupOrDefault("nNonOrthogonalCorrectors", 0); - bool momentumPredictor = true; - if (simple.found("momentumPredictor")) - { - momentumPredictor = Switch(simple.lookup("momentumPredictor")); - } + const bool momentumPredictor = + simple.lookupOrDefault("momentumPredictor", true); - bool fluxGradp = false; - if (simple.found("fluxGradp")) - { - fluxGradp = Switch(simple.lookup("fluxGradp")); - } + const bool transonic = + simple.lookupOrDefault("transonic", false); - bool transonic = false; - if (simple.found("transonic")) - { - transonic = Switch(simple.lookup("transonic")); - } diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/solid/readSolidMultiRegionSIMPLEControls.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/solid/readSolidMultiRegionSIMPLEControls.H index 22e9b177f1..e1d58d9f65 100644 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/solid/readSolidMultiRegionSIMPLEControls.H +++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/solid/readSolidMultiRegionSIMPLEControls.H @@ -1,7 +1,5 @@ - dictionary simple = solidRegions[i].solutionDict().subDict("SIMPLE"); + const dictionary& simple = solidRegions[i].solutionDict().subDict("SIMPLE"); + + const int nNonOrthCorr = + simple.lookupOrDefault("nNonOrthogonalCorrectors", 0); - int nNonOrthCorr = 0; - if (simple.found("nNonOrthogonalCorrectors")) - { - nNonOrthCorr = readInt(simple.lookup("nNonOrthogonalCorrectors")); - } diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/readFluidMultiRegionPIMPLEControls.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/readFluidMultiRegionPIMPLEControls.H index 413c0225f0..71e49a33a8 100644 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/readFluidMultiRegionPIMPLEControls.H +++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/readFluidMultiRegionPIMPLEControls.H @@ -1,9 +1,11 @@ const dictionary& pimple = mesh.solutionDict().subDict("PIMPLE"); - int nCorr(readInt(pimple.lookup("nCorrectors"))); + const int nCorr = + pimple.lookupOrDefault("nCorrectors", 1); - int nNonOrthCorr = + const int nNonOrthCorr = pimple.lookupOrDefault("nNonOrthogonalCorrectors", 0); - bool momentumPredictor = - pimple.lookupOrDefault("momentumPredictor", true); + const bool momentumPredictor = + pimple.lookupOrDefault("momentumPredictor", true); + diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/readFluidMultiRegionPISOControls.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/readFluidMultiRegionPISOControls.H index 75d6d96d11..1f8cdb82a3 100644 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/readFluidMultiRegionPISOControls.H +++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/readFluidMultiRegionPISOControls.H @@ -1,27 +1,17 @@ - dictionary piso = fluidRegions[i].solutionDict().subDict("PISO"); + const dictionary& piso = fluidRegions[i].solutionDict().subDict("PISO"); - int nCorr(readInt(piso.lookup("nCorrectors"))); + const int nOuterCorr = + piso.lookupOrDefault("nOuterCorrectors", 1); - int nNonOrthCorr = 0; - if (piso.found("nNonOrthogonalCorrectors")) - { - nNonOrthCorr = readInt(piso.lookup("nNonOrthogonalCorrectors")); - } + const int nCorr = + piso.lookupOrDefault("nCorrectors", 1); - bool momentumPredictor = true; - if (piso.found("momentumPredictor")) - { - momentumPredictor = Switch(piso.lookup("momentumPredictor")); - } + const int nNonOrthCorr = + piso.lookupOrDefault("nNonOrthogonalCorrectors", 0); - bool transonic = false; - if (piso.found("transonic")) - { - transonic = Switch(piso.lookup("transonic")); - } + const bool momentumPredictor = + piso.lookupOrDefault("momentumPredictor", true); + + const bool transonic = + piso.lookupOrDefault("transonic", false); - int nOuterCorr = 1; - if (piso.found("nOuterCorrectors")) - { - nOuterCorr = readInt(piso.lookup("nOuterCorrectors")); - } diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/readPIMPLEControls.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/readPIMPLEControls.H index 42793d9b9f..f6371c47cb 100644 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/readPIMPLEControls.H +++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/readPIMPLEControls.H @@ -4,4 +4,6 @@ const dictionary& pimple = solutionDict.subDict("PIMPLE"); - int nOuterCorr(readInt(pimple.lookup("nOuterCorrectors"))); + const int nOuterCorr = + pimple.lookupOrDefault("nOuterCorrectors", 1); + diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/solid/readSolidMultiRegionPISOControls.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/solid/readSolidMultiRegionPISOControls.H index ce6a1c5bb2..0c965a8322 100644 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/solid/readSolidMultiRegionPISOControls.H +++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/solid/readSolidMultiRegionPISOControls.H @@ -1,7 +1,5 @@ const dictionary& piso = solidRegions[i].solutionDict().subDict("PISO"); - int nNonOrthCorr = 0; - if (piso.found("nNonOrthogonalCorrectors")) - { - nNonOrthCorr = readInt(piso.lookup("nNonOrthogonalCorrectors")); - } + const int nNonOrthCorr = + piso.lookupOrDefault("nNonOrthogonalCorrectors", 0); + diff --git a/applications/solvers/incompressible/pimpleFoam/pimpleDyMFoam/readControls.H b/applications/solvers/incompressible/pimpleFoam/pimpleDyMFoam/readControls.H index ef396ec9ff..8789bd0ab4 100644 --- a/applications/solvers/incompressible/pimpleFoam/pimpleDyMFoam/readControls.H +++ b/applications/solvers/incompressible/pimpleFoam/pimpleDyMFoam/readControls.H @@ -1,14 +1,9 @@ #include "readTimeControls.H" #include "readPIMPLEControls.H" - bool correctPhi = false; - if (pimple.found("correctPhi")) - { - correctPhi = Switch(pimple.lookup("correctPhi")); - } + const bool correctPhi = + pimple.lookupOrDefault("correctPhi", false); + + const bool checkMeshCourantNo = + pimple.lookupOrDefault("checkMeshCourantNo", false); - bool checkMeshCourantNo = false; - if (pimple.found("checkMeshCourantNo")) - { - checkMeshCourantNo = Switch(pimple.lookup("checkMeshCourantNo")); - } diff --git a/applications/solvers/incompressible/porousSimpleFoam/createFields.H b/applications/solvers/incompressible/porousSimpleFoam/createFields.H index 6861ae0005..7ce03c1967 100644 --- a/applications/solvers/incompressible/porousSimpleFoam/createFields.H +++ b/applications/solvers/incompressible/porousSimpleFoam/createFields.H @@ -43,22 +43,13 @@ porousZones pZones(mesh); - Switch pressureImplicitPorosity(false); + // nUCorrectors used for pressureImplicitPorosity int nUCorr = 0; - if (pZones.size()) - { - // nUCorrectors for pressureImplicitPorosity - if (mesh.solutionDict().subDict("SIMPLE").found("nUCorrectors")) - { - nUCorr = readInt - ( - mesh.solutionDict().subDict("SIMPLE").lookup("nUCorrectors") - ); - } + const bool pressureImplicitPorosity = + ( + pZones.size() + && mesh.solutionDict().subDict("SIMPLE").readIfPresent("nUCorrectors", nUCorr) + && (nUCorr > 0) + ); - if (nUCorr > 0) - { - pressureImplicitPorosity = true; - } - } diff --git a/applications/solvers/multiphase/bubbleFoam/createRASTurbulence.H b/applications/solvers/multiphase/bubbleFoam/createRASTurbulence.H index 015cfbb837..049b6c0b36 100644 --- a/applications/solvers/multiphase/bubbleFoam/createRASTurbulence.H +++ b/applications/solvers/multiphase/bubbleFoam/createRASTurbulence.H @@ -96,7 +96,7 @@ ) ); - if (RASProperties.lookupOrDefault("printCoeffs", false)) + if (RASProperties.lookupOrDefault("printCoeffs", false)) { Info<< "kEpsilonCoeffs" << kEpsilonDict << nl << "wallFunctionCoeffs" << wallFunctionDict << endl; diff --git a/applications/solvers/multiphase/compressibleInterDyMFoam/readControls.H b/applications/solvers/multiphase/compressibleInterDyMFoam/readControls.H index a2e4ef3747..a5a2a183e5 100644 --- a/applications/solvers/multiphase/compressibleInterDyMFoam/readControls.H +++ b/applications/solvers/multiphase/compressibleInterDyMFoam/readControls.H @@ -1,5 +1,5 @@ - #include "readPISOControls.H" - #include "readTimeControls.H" + #include "readPISOControls.H" + #include "readTimeControls.H" label nAlphaCorr ( @@ -19,14 +19,9 @@ << exit(FatalError); } - bool correctPhi = true; - if (piso.found("correctPhi")) - { - correctPhi = Switch(piso.lookup("correctPhi")); - } + const bool correctPhi = + piso.lookupOrDefault("correctPhi", true); + + const bool checkMeshCourantNo = + piso.lookupOrDefault("checkMeshCourantNo", false); - bool checkMeshCourantNo = false; - if (piso.found("checkMeshCourantNo")) - { - checkMeshCourantNo = Switch(piso.lookup("checkMeshCourantNo")); - } diff --git a/applications/solvers/multiphase/interDyMFoam/readControls.H b/applications/solvers/multiphase/interDyMFoam/readControls.H index 3640d73adc..10b09bf8ff 100644 --- a/applications/solvers/multiphase/interDyMFoam/readControls.H +++ b/applications/solvers/multiphase/interDyMFoam/readControls.H @@ -1,14 +1,9 @@ # include "readTimeControls.H" # include "readPISOControls.H" - bool correctPhi = true; - if (piso.found("correctPhi")) - { - correctPhi = Switch(piso.lookup("correctPhi")); - } + const bool correctPhi = + piso.lookupOrDefault("correctPhi", true); + + const bool checkMeshCourantNo = + piso.lookupOrDefault("checkMeshCourantNo", false); - bool checkMeshCourantNo = false; - if (piso.found("checkMeshCourantNo")) - { - checkMeshCourantNo = Switch(piso.lookup("checkMeshCourantNo")); - } diff --git a/applications/solvers/multiphase/settlingFoam/createFields.H b/applications/solvers/multiphase/settlingFoam/createFields.H index 75d19c6779..a2a5707b9e 100644 --- a/applications/solvers/multiphase/settlingFoam/createFields.H +++ b/applications/solvers/multiphase/settlingFoam/createFields.H @@ -276,7 +276,7 @@ ) ); - if (RASProperties.lookupOrDefault("printCoeffs", false)) + if (RASProperties.lookupOrDefault("printCoeffs", false)) { Info<< "kEpsilonCoeffs" << kEpsilonDict << nl << "wallFunctionCoeffs" << wallFunctionDict << endl; diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/createFields.H b/applications/solvers/multiphase/twoPhaseEulerFoam/createFields.H index 308a1089fb..65761d9ec9 100644 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/createFields.H +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/createFields.H @@ -175,10 +175,8 @@ ); word dragPhase("blended"); - if (interfacialProperties.found("dragPhase")) + if (interfacialProperties.readIfPresent("dragPhase", dragPhase)) { - dragPhase = word(interfacialProperties.lookup("dragPhase")); - bool validDrag = dragPhase == "a" || dragPhase == "b" || dragPhase == "blended"; diff --git a/applications/solvers/stressAnalysis/solidDisplacementFoam/readSolidDisplacementFoamControls.H b/applications/solvers/stressAnalysis/solidDisplacementFoam/readSolidDisplacementFoamControls.H index 343b7bcaed..8b59cc497e 100644 --- a/applications/solvers/stressAnalysis/solidDisplacementFoam/readSolidDisplacementFoamControls.H +++ b/applications/solvers/stressAnalysis/solidDisplacementFoam/readSolidDisplacementFoamControls.H @@ -1,5 +1,6 @@ const dictionary& stressControl = mesh.solutionDict().subDict("stressAnalysis"); -int nCorr(readInt(stressControl.lookup("nCorrectors"))); +const int nCorr = stressControl.lookupOrDefault("nCorrectors", 1); + scalar convergenceTolerance(readScalar(stressControl.lookup("D"))); Switch compactNormalStress(stressControl.lookup("compactNormalStress")); diff --git a/applications/test/Hashing/hashingTests b/applications/test/Hashing/hashingTests index 162854bbef..2ccc793e74 100644 --- a/applications/test/Hashing/hashingTests +++ b/applications/test/Hashing/hashingTests @@ -1,10 +1,10 @@ -/*-------------------------------*- C++ -*---------------------------------*\ -| ========= | -| \\ / OpenFOAM | -| \\ / | -| \\ / The Open Source CFD Toolbox | -| \\/ http://www.OpenFOAM.org | -\*-------------------------------------------------------------------------*/ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.6 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/applications/test/dictionary/testDictRegex b/applications/test/dictionary/testDictRegex index 01d4274ba8..e1833efb3f 100644 --- a/applications/test/dictionary/testDictRegex +++ b/applications/test/dictionary/testDictRegex @@ -1,10 +1,10 @@ -/*-------------------------------*- C++ -*---------------------------------*\ -| ========= | -| \\ / OpenFOAM | -| \\ / | -| \\ / The Open Source CFD Toolbox | -| \\/ http://www.OpenFOAM.org | -\*-------------------------------------------------------------------------*/ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.6 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ FoamFile { version 2.0; diff --git a/applications/test/regex/testRegexps b/applications/test/regex/testRegexps index 72287eea43..fca98249c6 100644 --- a/applications/test/regex/testRegexps +++ b/applications/test/regex/testRegexps @@ -1,10 +1,10 @@ -/*-------------------------------*- C++ -*---------------------------------*\ -| ========= | -| \\ / OpenFOAM | -| \\ / | -| \\ / The Open Source CFD Toolbox | -| \\/ http://www.OpenFOAM.org | -\*-------------------------------------------------------------------------*/ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.6 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/applications/test/router/routerDict b/applications/test/router/routerDict index b21e5544fe..310c2653e3 100644 --- a/applications/test/router/routerDict +++ b/applications/test/router/routerDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.6 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile diff --git a/applications/test/spline/test-splines b/applications/test/spline/test-splines index 63f7bd17dd..05ab2185cd 100644 --- a/applications/test/spline/test-splines +++ b/applications/test/spline/test-splines @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.6 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ ( diff --git a/applications/test/wordRe/testRegexps b/applications/test/wordRe/testRegexps index c18cac8028..0eefa0f781 100644 --- a/applications/test/wordRe/testRegexps +++ b/applications/test/wordRe/testRegexps @@ -1,10 +1,10 @@ -/*-------------------------------*- C++ -*---------------------------------*\ -| ========= | -| \\ / OpenFOAM | -| \\ / | -| \\ / The Open Source CFD Toolbox | -| \\/ http://www.OpenFOAM.org | -\*-------------------------------------------------------------------------*/ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.6 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/applications/utilities/mesh/advanced/autoRefineMesh/autoRefineMeshDict b/applications/utilities/mesh/advanced/autoRefineMesh/autoRefineMeshDict index 9c57e17dbf..334ea8cd30 100644 --- a/applications/utilities/mesh/advanced/autoRefineMesh/autoRefineMeshDict +++ b/applications/utilities/mesh/advanced/autoRefineMesh/autoRefineMeshDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.6 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile diff --git a/applications/utilities/mesh/advanced/modifyMesh/modifyMeshDict b/applications/utilities/mesh/advanced/modifyMesh/modifyMeshDict index f2cf261692..b656cbffca 100644 --- a/applications/utilities/mesh/advanced/modifyMesh/modifyMeshDict +++ b/applications/utilities/mesh/advanced/modifyMesh/modifyMeshDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.6 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile diff --git a/applications/utilities/mesh/advanced/selectCells/selectCellsDict b/applications/utilities/mesh/advanced/selectCells/selectCellsDict index 87f91eafb4..10b73f34b5 100644 --- a/applications/utilities/mesh/advanced/selectCells/selectCellsDict +++ b/applications/utilities/mesh/advanced/selectCells/selectCellsDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.6 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile diff --git a/applications/utilities/mesh/conversion/Optional/ccm26ToFoam/ccm26ToFoam.C b/applications/utilities/mesh/conversion/Optional/ccm26ToFoam/ccm26ToFoam.C index 58070fc473..decabfeae0 100644 --- a/applications/utilities/mesh/conversion/Optional/ccm26ToFoam/ccm26ToFoam.C +++ b/applications/utilities/mesh/conversion/Optional/ccm26ToFoam/ccm26ToFoam.C @@ -579,12 +579,17 @@ void ReadCells int main(int argc, char *argv[]) { + argList::addNote + ( + "read CCM files as written by proSTAR/ccm\n" + " - does not handle 'interfaces' (couples), cyclics or data\n" + " - does not handle mesh regions (porosity, solids, ...)\n" + ); argList::noParallel(); - argList::validArgs.append("ccm26 file"); - -# include "setRootCase.H" -# include "createTime.H" + argList::validArgs.append("ccmFile"); + #include "setRootCase.H" + #include "createTime.H" // Foam mesh data // ~~~~~~~~~~~~~~ @@ -615,6 +620,7 @@ int main(int argc, char *argv[]) { const fileName ccmFile = args[1]; + const word ccmExt = ccmFile.ext(); if (!isFile(ccmFile)) { @@ -623,8 +629,6 @@ int main(int argc, char *argv[]) << exit(FatalError); } - word ccmExt = ccmFile.ext(); - if (ccmExt != "ccm" && ccmExt != "ccmg") { FatalErrorIn(args.executable()) diff --git a/applications/utilities/mesh/conversion/fluentMeshToFoam/create3DCellShape.C b/applications/utilities/mesh/conversion/fluentMeshToFoam/create3DCellShape.C index ddf722d324..adcce3869d 100644 --- a/applications/utilities/mesh/conversion/fluentMeshToFoam/create3DCellShape.C +++ b/applications/utilities/mesh/conversion/fluentMeshToFoam/create3DCellShape.C @@ -90,7 +90,7 @@ cellShape create3DCellShape // make a list of outward-pointing faces labelListList localFaces(faceLabels.size()); - forAll (faceLabels, faceI) + forAll(faceLabels, faceI) { const label curFaceLabel = faceLabels[faceI]; diff --git a/applications/utilities/mesh/conversion/foamToStarMesh/foamToStarMesh.C b/applications/utilities/mesh/conversion/foamToStarMesh/foamToStarMesh.C index 09e34235e5..2587a5d457 100644 --- a/applications/utilities/mesh/conversion/foamToStarMesh/foamToStarMesh.C +++ b/applications/utilities/mesh/conversion/foamToStarMesh/foamToStarMesh.C @@ -62,6 +62,10 @@ using namespace Foam; int main(int argc, char *argv[]) { + argList::addNote + ( + "read OpenFOAM mesh and write a pro-STAR (v4) bnd/cel/vrt format" + ); argList::noParallel(); timeSelector::addOptions(); @@ -74,7 +78,7 @@ int main(int argc, char *argv[]) argList::addBoolOption ( "noBnd", - "suppress writing the .bnd file" + "suppress writing a boundary (.bnd) file" ); # include "setRootCase.H" diff --git a/applications/utilities/mesh/conversion/star3ToFoam/star3ToFoam.C b/applications/utilities/mesh/conversion/star3ToFoam/star3ToFoam.C index de32c0f5b3..8d8c565387 100644 --- a/applications/utilities/mesh/conversion/star3ToFoam/star3ToFoam.C +++ b/applications/utilities/mesh/conversion/star3ToFoam/star3ToFoam.C @@ -38,8 +38,13 @@ Description int main(int argc, char *argv[]) { + argList::addNote + ( + "convert pro-STAR (v3) mesh to OpenFOAM" + ); + argList::noParallel(); - argList::validArgs.append("STAR mesh file prefix"); + argList::validArgs.append("pro-STAR prefix"); argList::addOption ( "scale", @@ -56,7 +61,7 @@ int main(int argc, char *argv[]) const scalar scaleFactor = args.optionLookupOrDefault("scale", 1.0); -# include "createTime.H" + #include "createTime.H" starMesh makeMesh(args[1], runTime, scaleFactor); diff --git a/applications/utilities/mesh/conversion/star4ToFoam/star4ToFoam.C b/applications/utilities/mesh/conversion/star4ToFoam/star4ToFoam.C index fc956582b3..53dd66c234 100644 --- a/applications/utilities/mesh/conversion/star4ToFoam/star4ToFoam.C +++ b/applications/utilities/mesh/conversion/star4ToFoam/star4ToFoam.C @@ -59,6 +59,11 @@ using namespace Foam; int main(int argc, char *argv[]) { + argList::addNote + ( + "convert pro-STAR (v4) mesh to OpenFOAM" + ); + argList::noParallel(); argList::validArgs.append("pro-STAR prefix"); argList::addBoolOption diff --git a/applications/utilities/mesh/generation/extrudeMesh/extrudeProperties b/applications/utilities/mesh/generation/extrudeMesh/extrudeProperties index 9a047e7822..4fe5c4321d 100644 --- a/applications/utilities/mesh/generation/extrudeMesh/extrudeProperties +++ b/applications/utilities/mesh/generation/extrudeMesh/extrudeProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.6 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile diff --git a/applications/utilities/mesh/generation/snappyHexMesh/snappyHexMeshDict b/applications/utilities/mesh/generation/snappyHexMesh/snappyHexMeshDict index 788b154a6e..f83ccc4854 100644 --- a/applications/utilities/mesh/generation/snappyHexMesh/snappyHexMeshDict +++ b/applications/utilities/mesh/generation/snappyHexMesh/snappyHexMeshDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.6 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile diff --git a/applications/utilities/mesh/manipulation/createPatch/createPatchDict b/applications/utilities/mesh/manipulation/createPatch/createPatchDict index 10fd55e5a1..fae13ed51b 100644 --- a/applications/utilities/mesh/manipulation/createPatch/createPatchDict +++ b/applications/utilities/mesh/manipulation/createPatch/createPatchDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.6 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile diff --git a/applications/utilities/mesh/manipulation/mirrorMesh/mirrorMeshDict b/applications/utilities/mesh/manipulation/mirrorMesh/mirrorMeshDict index 0405c7cfed..a891f605d2 100644 --- a/applications/utilities/mesh/manipulation/mirrorMesh/mirrorMeshDict +++ b/applications/utilities/mesh/manipulation/mirrorMesh/mirrorMeshDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.6 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile diff --git a/applications/utilities/mesh/conversion/polyDualMesh/Make/files b/applications/utilities/mesh/manipulation/polyDualMesh/Make/files similarity index 100% rename from applications/utilities/mesh/conversion/polyDualMesh/Make/files rename to applications/utilities/mesh/manipulation/polyDualMesh/Make/files diff --git a/applications/utilities/mesh/conversion/polyDualMesh/Make/options b/applications/utilities/mesh/manipulation/polyDualMesh/Make/options similarity index 100% rename from applications/utilities/mesh/conversion/polyDualMesh/Make/options rename to applications/utilities/mesh/manipulation/polyDualMesh/Make/options diff --git a/applications/utilities/mesh/conversion/polyDualMesh/meshDualiser.C b/applications/utilities/mesh/manipulation/polyDualMesh/meshDualiser.C similarity index 99% rename from applications/utilities/mesh/conversion/polyDualMesh/meshDualiser.C rename to applications/utilities/mesh/manipulation/polyDualMesh/meshDualiser.C index 74a89fdc5e..bdfb35bd50 100644 --- a/applications/utilities/mesh/conversion/polyDualMesh/meshDualiser.C +++ b/applications/utilities/mesh/manipulation/polyDualMesh/meshDualiser.C @@ -881,9 +881,6 @@ Foam::meshDualiser::meshDualiser(const polyMesh& mesh) {} -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - - // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // void Foam::meshDualiser::setRefinement @@ -1469,14 +1466,4 @@ void Foam::meshDualiser::setRefinement } - -// * * * * * * * * * * * * * * * Member Operators * * * * * * * * * * * * * // - - -// * * * * * * * * * * * * * * * Friend Functions * * * * * * * * * * * * * // - - -// * * * * * * * * * * * * * * * Friend Operators * * * * * * * * * * * * * // - - // ************************************************************************* // diff --git a/applications/utilities/mesh/conversion/polyDualMesh/meshDualiser.H b/applications/utilities/mesh/manipulation/polyDualMesh/meshDualiser.H similarity index 100% rename from applications/utilities/mesh/conversion/polyDualMesh/meshDualiser.H rename to applications/utilities/mesh/manipulation/polyDualMesh/meshDualiser.H diff --git a/applications/utilities/mesh/conversion/polyDualMesh/polyDualMeshApp.C b/applications/utilities/mesh/manipulation/polyDualMesh/polyDualMeshApp.C similarity index 100% rename from applications/utilities/mesh/conversion/polyDualMesh/polyDualMeshApp.C rename to applications/utilities/mesh/manipulation/polyDualMesh/polyDualMeshApp.C diff --git a/applications/utilities/mesh/manipulation/refineMesh/refineMeshDict b/applications/utilities/mesh/manipulation/refineMesh/refineMeshDict index 5a460c5d2e..c8b6a44f48 100644 --- a/applications/utilities/mesh/manipulation/refineMesh/refineMeshDict +++ b/applications/utilities/mesh/manipulation/refineMesh/refineMeshDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.6 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile diff --git a/applications/utilities/mesh/manipulation/topoSet/topoSetDict b/applications/utilities/mesh/manipulation/topoSet/topoSetDict index 40afc5ecb9..334a12b2ce 100644 --- a/applications/utilities/mesh/manipulation/topoSet/topoSetDict +++ b/applications/utilities/mesh/manipulation/topoSet/topoSetDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.6 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile diff --git a/applications/utilities/miscellaneous/expandDictionary/expandDictionary.C b/applications/utilities/miscellaneous/expandDictionary/expandDictionary.C index 08e8f29f24..86b1caec44 100644 --- a/applications/utilities/miscellaneous/expandDictionary/expandDictionary.C +++ b/applications/utilities/miscellaneous/expandDictionary/expandDictionary.C @@ -42,6 +42,12 @@ using namespace Foam; int main(int argc, char *argv[]) { + argList::addNote + ( + "Read the specified dictionary file, expand the macros etc. and write\n" + "the resulting dictionary to standard output." + ); + argList::noBanner(); argList::noParallel(); argList::validArgs.append("inputDict"); @@ -49,9 +55,10 @@ int main(int argc, char *argv[]) const string dictName = args[1]; - Info<<"//\n// expansion of dictionary " << dictName << "\n//\n"; + IOobject::writeBanner(Info) + <<"//\n// " << dictName << "\n//\n"; - dictionary(IFstream(dictName)()).write(Info, false); + dictionary(IFstream(dictName)(), true).write(Info, false); IOobject::writeDivider(Info); diff --git a/applications/utilities/parallelProcessing/decomposePar/decomposePar.C b/applications/utilities/parallelProcessing/decomposePar/decomposePar.C index 5130f14da3..2009375040 100644 --- a/applications/utilities/parallelProcessing/decomposePar/decomposePar.C +++ b/applications/utilities/parallelProcessing/decomposePar/decomposePar.C @@ -64,11 +64,17 @@ Usage #include "IOobjectList.H" #include "domainDecomposition.H" #include "labelIOField.H" +#include "labelFieldIOField.H" #include "scalarIOField.H" +#include "scalarFieldIOField.H" #include "vectorIOField.H" +#include "vectorFieldIOField.H" #include "sphericalTensorIOField.H" +#include "sphericalTensorFieldIOField.H" #include "symmTensorIOField.H" +#include "symmTensorFieldIOField.H" #include "tensorIOField.H" +#include "tensorFieldIOField.H" #include "pointFields.H" #include "readFields.H" @@ -374,20 +380,42 @@ int main(int argc, char *argv[]) PtrList< List*> > cellParticles(cloudDirs.size()); PtrList > lagrangianLabelFields(cloudDirs.size()); + PtrList > lagrangianLabelFieldFields + ( + cloudDirs.size() + ); PtrList > lagrangianScalarFields(cloudDirs.size()); + PtrList > lagrangianScalarFieldFields + ( + cloudDirs.size() + ); PtrList > lagrangianVectorFields(cloudDirs.size()); + PtrList > lagrangianVectorFieldFields + ( + cloudDirs.size() + ); PtrList > lagrangianSphericalTensorFields ( cloudDirs.size() ); + PtrList > + lagrangianSphericalTensorFieldFields(cloudDirs.size()); PtrList > lagrangianSymmTensorFields ( cloudDirs.size() ); + PtrList > lagrangianSymmTensorFieldFields + ( + cloudDirs.size() + ); PtrList > lagrangianTensorFields ( cloudDirs.size() ); + PtrList > lagrangianTensorFieldFields + ( + cloudDirs.size() + ); label cloudI = 0; @@ -487,6 +515,13 @@ int main(int argc, char *argv[]) lagrangianLabelFields ); + lagrangianFieldDecomposer::readFieldFields + ( + cloudI, + lagrangianObjects, + lagrangianLabelFieldFields + ); + lagrangianFieldDecomposer::readFields ( cloudI, @@ -494,6 +529,14 @@ int main(int argc, char *argv[]) lagrangianScalarFields ); + lagrangianFieldDecomposer::readFieldFields + ( + cloudI, + lagrangianObjects, + lagrangianScalarFieldFields + ); + + lagrangianFieldDecomposer::readFields ( cloudI, @@ -501,6 +544,13 @@ int main(int argc, char *argv[]) lagrangianVectorFields ); + lagrangianFieldDecomposer::readFieldFields + ( + cloudI, + lagrangianObjects, + lagrangianVectorFieldFields + ); + lagrangianFieldDecomposer::readFields ( cloudI, @@ -508,6 +558,13 @@ int main(int argc, char *argv[]) lagrangianSphericalTensorFields ); + lagrangianFieldDecomposer::readFieldFields + ( + cloudI, + lagrangianObjects, + lagrangianSphericalTensorFieldFields + ); + lagrangianFieldDecomposer::readFields ( cloudI, @@ -515,6 +572,13 @@ int main(int argc, char *argv[]) lagrangianSymmTensorFields ); + lagrangianFieldDecomposer::readFieldFields + ( + cloudI, + lagrangianObjects, + lagrangianSymmTensorFieldFields + ); + lagrangianFieldDecomposer::readFields ( cloudI, @@ -522,6 +586,13 @@ int main(int argc, char *argv[]) lagrangianTensorFields ); + lagrangianFieldDecomposer::readFieldFields + ( + cloudI, + lagrangianObjects, + lagrangianTensorFieldFields + ); + cloudI++; } } @@ -529,11 +600,17 @@ int main(int argc, char *argv[]) lagrangianPositions.setSize(cloudI); cellParticles.setSize(cloudI); lagrangianLabelFields.setSize(cloudI); + lagrangianLabelFieldFields.setSize(cloudI); lagrangianScalarFields.setSize(cloudI); + lagrangianScalarFieldFields.setSize(cloudI); lagrangianVectorFields.setSize(cloudI); + lagrangianVectorFieldFields.setSize(cloudI); lagrangianSphericalTensorFields.setSize(cloudI); + lagrangianSphericalTensorFieldFields.setSize(cloudI); lagrangianSymmTensorFields.setSize(cloudI); + lagrangianSymmTensorFieldFields.setSize(cloudI); lagrangianTensorFields.setSize(cloudI); + lagrangianTensorFieldFields.setSize(cloudI); // Any uniform data to copy/link? @@ -725,11 +802,17 @@ int main(int argc, char *argv[]) if ( lagrangianLabelFields[cloudI].size() + || lagrangianLabelFieldFields[cloudI].size() || lagrangianScalarFields[cloudI].size() + || lagrangianScalarFieldFields[cloudI].size() || lagrangianVectorFields[cloudI].size() + || lagrangianVectorFieldFields[cloudI].size() || lagrangianSphericalTensorFields[cloudI].size() + || lagrangianSphericalTensorFieldFields[cloudI].size() || lagrangianSymmTensorFields[cloudI].size() + || lagrangianSymmTensorFieldFields[cloudI].size() || lagrangianTensorFields[cloudI].size() + || lagrangianTensorFieldFields[cloudI].size() ) { fieldDecomposer.decomposeFields @@ -737,31 +820,61 @@ int main(int argc, char *argv[]) cloudDirs[cloudI], lagrangianLabelFields[cloudI] ); + fieldDecomposer.decomposeFieldFields + ( + cloudDirs[cloudI], + lagrangianLabelFieldFields[cloudI] + ); fieldDecomposer.decomposeFields ( cloudDirs[cloudI], lagrangianScalarFields[cloudI] ); + fieldDecomposer.decomposeFieldFields + ( + cloudDirs[cloudI], + lagrangianScalarFieldFields[cloudI] + ); fieldDecomposer.decomposeFields ( cloudDirs[cloudI], lagrangianVectorFields[cloudI] ); + fieldDecomposer.decomposeFieldFields + ( + cloudDirs[cloudI], + lagrangianVectorFieldFields[cloudI] + ); fieldDecomposer.decomposeFields ( cloudDirs[cloudI], lagrangianSphericalTensorFields[cloudI] ); + fieldDecomposer.decomposeFieldFields + ( + cloudDirs[cloudI], + lagrangianSphericalTensorFieldFields[cloudI] + ); fieldDecomposer.decomposeFields ( cloudDirs[cloudI], lagrangianSymmTensorFields[cloudI] ); + fieldDecomposer.decomposeFieldFields + ( + cloudDirs[cloudI], + lagrangianSymmTensorFieldFields[cloudI] + ); fieldDecomposer.decomposeFields ( cloudDirs[cloudI], lagrangianTensorFields[cloudI] ); + fieldDecomposer.decomposeFieldFields + ( + cloudDirs[cloudI], + lagrangianTensorFieldFields[cloudI] + ); } } } diff --git a/applications/utilities/parallelProcessing/decomposePar/decomposeParDict b/applications/utilities/parallelProcessing/decomposePar/decomposeParDict index 0f09fca353..35fe19489f 100644 --- a/applications/utilities/parallelProcessing/decomposePar/decomposeParDict +++ b/applications/utilities/parallelProcessing/decomposePar/decomposeParDict @@ -1,10 +1,10 @@ -/*-------------------------------*- C++ -*---------------------------------*\ -| ========= | -| \\ / OpenFOAM | -| \\ / | -| \\ / The Open Source CFD Toolbox | -| \\/ http://www.OpenFOAM.org | -\*-------------------------------------------------------------------------*/ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.6 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ FoamFile { version 2.0; diff --git a/applications/utilities/parallelProcessing/decomposePar/domainDecomposition.C b/applications/utilities/parallelProcessing/decomposePar/domainDecomposition.C index 2cc5c26b1a..16444cd4cd 100644 --- a/applications/utilities/parallelProcessing/decomposePar/domainDecomposition.C +++ b/applications/utilities/parallelProcessing/decomposePar/domainDecomposition.C @@ -112,11 +112,7 @@ Foam::domainDecomposition::domainDecomposition(const IOobject& io) procProcessorPatchSubPatchIDs_(nProcs_), procProcessorPatchSubPatchStarts_(nProcs_) { - if (decompositionDict_.found("distributed")) - { - Switch distributed(decompositionDict_.lookup("distributed")); - distributed_ = distributed; - } + decompositionDict_.readIfPresent("distributed", distributed_); } diff --git a/applications/utilities/parallelProcessing/decomposePar/domainDecompositionMesh.C b/applications/utilities/parallelProcessing/decomposePar/domainDecompositionMesh.C index 46febf2b44..2cc678ce7a 100644 --- a/applications/utilities/parallelProcessing/decomposePar/domainDecompositionMesh.C +++ b/applications/utilities/parallelProcessing/decomposePar/domainDecompositionMesh.C @@ -130,7 +130,7 @@ void Foam::domainDecomposition::decomposeMesh() procFaceAddressing_.setSize(nProcs_); // Internal faces - forAll (neighbour, facei) + forAll(neighbour, facei) { if (cellToProc_[owner[facei]] == cellToProc_[neighbour[facei]]) { @@ -141,16 +141,16 @@ void Foam::domainDecomposition::decomposeMesh() // for all processors, set the size of start index and patch size // lists to the number of patches in the mesh - forAll (procPatchSize_, procI) + forAll(procPatchSize_, procI) { procPatchSize_[procI].setSize(patches.size()); procPatchStartIndex_[procI].setSize(patches.size()); } - forAll (patches, patchi) + forAll(patches, patchi) { // Reset size and start index for all processors - forAll (procPatchSize_, procI) + forAll(procPatchSize_, procI) { procPatchSize_[procI][patchi] = 0; procPatchStartIndex_[procI][patchi] = @@ -167,7 +167,7 @@ void Foam::domainDecomposition::decomposeMesh() const unallocLabelList& patchFaceCells = patches[patchi].faceCells(); - forAll (patchFaceCells, facei) + forAll(patchFaceCells, facei) { const label curProc = cellToProc_[patchFaceCells[facei]]; @@ -190,7 +190,7 @@ void Foam::domainDecomposition::decomposeMesh() const unallocLabelList& nbrPatchFaceCells = pp.neighbPatch().faceCells(); - forAll (patchFaceCells, facei) + forAll(patchFaceCells, facei) { const label curProc = cellToProc_[patchFaceCells[facei]]; const label nbrProc = cellToProc_[nbrPatchFaceCells[facei]]; @@ -216,7 +216,7 @@ void Foam::domainDecomposition::decomposeMesh() List > > interPatchFaces(nProcs_); // Processor boundaries from internal faces - forAll (neighbour, facei) + forAll(neighbour, facei) { label ownerProc = cellToProc_[owner[facei]]; label nbrProc = cellToProc_[neighbour[facei]]; @@ -249,7 +249,7 @@ void Foam::domainDecomposition::decomposeMesh() } // Processor boundaries from split cyclics - forAll (patches, patchi) + forAll(patches, patchi) { if (isA(patches[patchi])) { @@ -279,7 +279,7 @@ void Foam::domainDecomposition::decomposeMesh() } // Add faces with different owner and neighbour processors - forAll (patchFaceCells, facei) + forAll(patchFaceCells, facei) { const label ownerProc = cellToProc_[patchFaceCells[facei]]; const label nbrProc = cellToProc_[nbrPatchFaceCells[facei]]; diff --git a/applications/utilities/parallelProcessing/decomposePar/lagrangianFieldDecomposer.H b/applications/utilities/parallelProcessing/decomposePar/lagrangianFieldDecomposer.H index 52b2c23503..43d2b1645c 100644 --- a/applications/utilities/parallelProcessing/decomposePar/lagrangianFieldDecomposer.H +++ b/applications/utilities/parallelProcessing/decomposePar/lagrangianFieldDecomposer.H @@ -37,6 +37,7 @@ SourceFiles #define lagrangianFieldDecomposer_H #include "Cloud.H" +#include "IOFieldField.H" #include "indexedParticle.H" #include "passiveParticle.H" @@ -102,6 +103,19 @@ public: // PtrList >& lagrangianFields ); + template + static void readFieldFields + ( + const label cloudI, + const IOobjectList& lagrangianObjects, + PtrList + < + PtrList, Type> > + >& lagrangianFields +// PtrList, Type > >& lagrangianFields + ); + + //- Decompose volume field template tmp > decomposeField @@ -110,12 +124,27 @@ public: const IOField& field ) const; + template + tmp, Type> > decomposeFieldField + ( + const word& cloudName, + const IOFieldField, Type>& field + ) const; + + template void decomposeFields ( const word& cloudName, const PtrList& fields ) const; + + template + void decomposeFieldFields + ( + const word& cloudName, + const PtrList& fields + ) const; }; diff --git a/applications/utilities/parallelProcessing/decomposePar/lagrangianFieldDecomposerDecomposeFields.C b/applications/utilities/parallelProcessing/decomposePar/lagrangianFieldDecomposerDecomposeFields.C index 172be9c3c0..e479057d7c 100644 --- a/applications/utilities/parallelProcessing/decomposePar/lagrangianFieldDecomposerDecomposeFields.C +++ b/applications/utilities/parallelProcessing/decomposePar/lagrangianFieldDecomposerDecomposeFields.C @@ -63,6 +63,56 @@ void Foam::lagrangianFieldDecomposer::readFields } +template +void Foam::lagrangianFieldDecomposer::readFieldFields +( + const label cloudI, + const IOobjectList& lagrangianObjects, + PtrList, Type> > >& lagrangianFields +) +{ + // Search list of objects for lagrangian fields + IOobjectList lagrangianTypeObjectsA + ( + lagrangianObjects.lookupClass(IOField >::typeName) + ); + + IOobjectList lagrangianTypeObjectsB + ( + lagrangianObjects.lookupClass(IOFieldField, Type>::typeName) + ); + + lagrangianFields.set + ( + cloudI, + new PtrList, Type> > + ( + lagrangianTypeObjectsA.size() + lagrangianTypeObjectsB.size() + ) + ); + + label lagrangianFieldi=0; + + forAllIter(IOobjectList, lagrangianTypeObjectsA, iter) + { + lagrangianFields[cloudI].set + ( + lagrangianFieldi++, + new IOFieldField, Type>(*iter()) + ); + } + + forAllIter(IOobjectList, lagrangianTypeObjectsB, iter) + { + lagrangianFields[cloudI].set + ( + lagrangianFieldi++, + new IOFieldField, Type>(*iter()) + ); + } +} + + template Foam::tmp > Foam::lagrangianFieldDecomposer::decomposeField @@ -94,6 +144,37 @@ Foam::lagrangianFieldDecomposer::decomposeField } +template +Foam::tmp, Type> > +Foam::lagrangianFieldDecomposer::decomposeFieldField +( + const word& cloudName, + const IOFieldField, Type>& field +) const +{ + // Create and map the internal field values + Field > procField(field, particleIndices_); + + // Create the field for the processor + return tmp, Type> > + ( + new IOFieldField, Type> + ( + IOobject + ( + field.name(), + procMesh_.time().timeName(), + cloud::prefix/cloudName, + procMesh_, + IOobject::NO_READ, + IOobject::NO_WRITE + ), + procField + ) + ); +} + + template void Foam::lagrangianFieldDecomposer::decomposeFields ( @@ -111,4 +192,21 @@ void Foam::lagrangianFieldDecomposer::decomposeFields } +template +void Foam::lagrangianFieldDecomposer::decomposeFieldFields +( + const word& cloudName, + const PtrList& fields +) const +{ + if (particleIndices_.size()) + { + forAll(fields, fieldI) + { + decomposeFieldField(cloudName, fields[fieldI])().write(); + } + } +} + + // ************************************************************************* // diff --git a/applications/utilities/parallelProcessing/reconstructPar/reconstructPar.C b/applications/utilities/parallelProcessing/reconstructPar/reconstructPar.C index 3a3b64b13b..3734296f51 100644 --- a/applications/utilities/parallelProcessing/reconstructPar/reconstructPar.C +++ b/applications/utilities/parallelProcessing/reconstructPar/reconstructPar.C @@ -402,6 +402,13 @@ int main(int argc, char *argv[]) procMeshes.meshes(), sprayObjs ); + reconstructLagrangianFieldFields