diff --git a/src/finiteVolume/finiteVolume/ddtSchemes/ddtScheme/ddtScheme.C b/src/finiteVolume/finiteVolume/ddtSchemes/ddtScheme/ddtScheme.C index 45bc97047e..4b201d9d3b 100644 --- a/src/finiteVolume/finiteVolume/ddtSchemes/ddtScheme/ddtScheme.C +++ b/src/finiteVolume/finiteVolume/ddtSchemes/ddtScheme/ddtScheme.C @@ -175,12 +175,28 @@ tmp ddtScheme::fvcDdtPhiCoeff if (ddtPhiCoeff_ < 0) { + // v1712 and earlier + // ddtCouplingCoeff -= min + // ( + // mag(phiCorr) + // /(mag(phi) + dimensionedScalar("small", phi.dimensions(), SMALL)), + // scalar(1) + // ); + + // See note below re: commented code ddtCouplingCoeff -= min ( + // mag(phiCorr) + //*mesh().time().deltaT()*mag(mesh().deltaCoeffs())/mesh().magSf(), + // scalar(1) mag(phiCorr) *mesh().time().deltaT()*mesh().deltaCoeffs()/mesh().magSf(), scalar(1) ); + + // Note: setting oriented to false to avoid having to use mag(deltaCoeffs) + // - the deltaCoeffs field is always positive (scalars) + ddtCouplingCoeff.setOriented(false); } else { diff --git a/src/finiteVolume/fvMesh/singleCellFvMesh/singleCellFvMesh.C b/src/finiteVolume/fvMesh/singleCellFvMesh/singleCellFvMesh.C index 03e18d9a05..1fadf245ef 100644 --- a/src/finiteVolume/fvMesh/singleCellFvMesh/singleCellFvMesh.C +++ b/src/finiteVolume/fvMesh/singleCellFvMesh/singleCellFvMesh.C @@ -268,19 +268,20 @@ void Foam::singleCellFvMesh::agglomerateMesh } addFvPatches(newPatches); + const label nFace = patchFaces.size(); + // Actually change the mesh. // Owner, neighbour is trivial resetPrimitives ( autoPtr::New(std::move(boundaryPoints)), autoPtr::New(std::move(patchFaces)), - autoPtr::New(patchFaces.size(), Zero), // owner - autoPtr::New(), // neighbour + autoPtr::New(nFace, Zero), // owner + autoPtr::New(), // neighbour patchSizes, patchStarts, - true //syncPar + true // syncPar ); - // Adapt the zones cellZones().clear(); cellZones().setSize(mesh.cellZones().size());