mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
parallel fix
This commit is contained in:
@ -1373,7 +1373,17 @@ Foam::isoSurface::isoSurface
|
|||||||
{
|
{
|
||||||
const polyPatch& pp = patches[patchI];
|
const polyPatch& pp = patches[patchI];
|
||||||
|
|
||||||
if (!pp.coupled())
|
if (pp.coupled())
|
||||||
|
{
|
||||||
|
label faceI = pp.start();
|
||||||
|
|
||||||
|
forAll(pp, i)
|
||||||
|
{
|
||||||
|
boundaryRegion[faceI-mesh_.nInternalFaces()] = patchI;
|
||||||
|
faceI++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
label faceI = pp.start();
|
label faceI = pp.start();
|
||||||
|
|
||||||
@ -1381,12 +1391,13 @@ Foam::isoSurface::isoSurface
|
|||||||
{
|
{
|
||||||
boundaryRegion[faceI-mesh_.nInternalFaces()] = patchI;
|
boundaryRegion[faceI-mesh_.nInternalFaces()] = patchI;
|
||||||
|
|
||||||
const face& f = mesh_.faces()[faceI++];
|
const face& f = mesh_.faces()[faceI];
|
||||||
|
|
||||||
forAll(f, fp)
|
forAll(f, fp)
|
||||||
{
|
{
|
||||||
isBoundaryPoint.set(f[fp], 1);
|
isBoundaryPoint.set(f[fp], 1);
|
||||||
}
|
}
|
||||||
|
faceI++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -45,6 +45,8 @@ void Foam::sampledIsoSurface::getIsoFields() const
|
|||||||
{
|
{
|
||||||
const fvMesh& fvm = static_cast<const fvMesh&>(mesh());
|
const fvMesh& fvm = static_cast<const fvMesh&>(mesh());
|
||||||
|
|
||||||
|
word pointFldName = "volPointInterpolate(" + isoField_ + ')';
|
||||||
|
|
||||||
// Get volField
|
// Get volField
|
||||||
// ~~~~~~~~~~~~
|
// ~~~~~~~~~~~~
|
||||||
|
|
||||||
@ -64,28 +66,56 @@ void Foam::sampledIsoSurface::getIsoFields() const
|
|||||||
|
|
||||||
if (debug)
|
if (debug)
|
||||||
{
|
{
|
||||||
Info<< "sampledIsoSurface::getIsoField() : reading "
|
Info<< "sampledIsoSurface::getIsoField() : checking "
|
||||||
<< isoField_ << " from time " << fvm.time().timeName()
|
<< isoField_ << " for same time " << fvm.time().timeName()
|
||||||
<< endl;
|
<< endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
storedVolFieldPtr_.reset
|
if
|
||||||
(
|
(
|
||||||
new volScalarField
|
!storedVolFieldPtr_.valid()
|
||||||
|
|| (fvm.time().timeName() != storedVolFieldPtr_().instance())
|
||||||
|
)
|
||||||
|
{
|
||||||
|
if (debug)
|
||||||
|
{
|
||||||
|
Info<< "sampledIsoSurface::getIsoField() : reading "
|
||||||
|
<< isoField_ << " from time " << fvm.time().timeName()
|
||||||
|
<< endl;
|
||||||
|
}
|
||||||
|
|
||||||
|
storedVolFieldPtr_.reset
|
||||||
(
|
(
|
||||||
IOobject
|
new volScalarField
|
||||||
(
|
(
|
||||||
isoField_,
|
IOobject
|
||||||
fvm.time().timeName(),
|
(
|
||||||
fvm,
|
isoField_,
|
||||||
IOobject::MUST_READ,
|
fvm.time().timeName(),
|
||||||
IOobject::NO_WRITE,
|
fvm,
|
||||||
false
|
IOobject::MUST_READ,
|
||||||
),
|
IOobject::NO_WRITE,
|
||||||
fvm
|
false
|
||||||
)
|
),
|
||||||
);
|
fvm
|
||||||
volFieldPtr_ = storedVolFieldPtr_.operator->();
|
)
|
||||||
|
);
|
||||||
|
volFieldPtr_ = storedVolFieldPtr_.operator->();
|
||||||
|
|
||||||
|
// Interpolate to get pointField
|
||||||
|
|
||||||
|
if (debug)
|
||||||
|
{
|
||||||
|
Info<< "sampledIsoSurface::getIsoField() : interpolating "
|
||||||
|
<< pointFldName << endl;
|
||||||
|
}
|
||||||
|
|
||||||
|
storedPointFieldPtr_.reset
|
||||||
|
(
|
||||||
|
volPointInterpolation::New(fvm).interpolate(*volFieldPtr_).ptr()
|
||||||
|
);
|
||||||
|
pointFieldPtr_ = storedPointFieldPtr_.operator->();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -93,8 +123,6 @@ void Foam::sampledIsoSurface::getIsoFields() const
|
|||||||
// Get pointField
|
// Get pointField
|
||||||
// ~~~~~~~~~~~~~~
|
// ~~~~~~~~~~~~~~
|
||||||
|
|
||||||
word pointFldName = "volPointInterpolate(" + isoField_ + ')';
|
|
||||||
|
|
||||||
if (fvm.foundObject<pointScalarField>(pointFldName))
|
if (fvm.foundObject<pointScalarField>(pointFldName))
|
||||||
{
|
{
|
||||||
if (debug)
|
if (debug)
|
||||||
@ -102,7 +130,6 @@ void Foam::sampledIsoSurface::getIsoFields() const
|
|||||||
Info<< "sampledIsoSurface::getIsoField() : lookup "
|
Info<< "sampledIsoSurface::getIsoField() : lookup "
|
||||||
<< pointFldName << endl;
|
<< pointFldName << endl;
|
||||||
}
|
}
|
||||||
storedPointFieldPtr_.clear();
|
|
||||||
pointFieldPtr_ = &fvm.lookupObject<pointScalarField>(pointFldName);
|
pointFieldPtr_ = &fvm.lookupObject<pointScalarField>(pointFldName);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -111,15 +138,29 @@ void Foam::sampledIsoSurface::getIsoFields() const
|
|||||||
|
|
||||||
if (debug)
|
if (debug)
|
||||||
{
|
{
|
||||||
Info<< "sampledIsoSurface::getIsoField() : interpolating "
|
Info<< "sampledIsoSurface::getIsoField() : checking interpolate "
|
||||||
<< pointFldName << endl;
|
<< isoField_ << " for same time " << fvm.time().timeName()
|
||||||
|
<< endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
storedPointFieldPtr_.reset
|
if
|
||||||
(
|
(
|
||||||
volPointInterpolation::New(fvm).interpolate(*volFieldPtr_).ptr()
|
!storedPointFieldPtr_.valid()
|
||||||
);
|
|| (fvm.time().timeName() != storedPointFieldPtr_().instance())
|
||||||
pointFieldPtr_ = storedPointFieldPtr_.operator->();
|
)
|
||||||
|
{
|
||||||
|
if (debug)
|
||||||
|
{
|
||||||
|
Info<< "sampledIsoSurface::getIsoField() : interpolating "
|
||||||
|
<< pointFldName << endl;
|
||||||
|
}
|
||||||
|
|
||||||
|
storedPointFieldPtr_.reset
|
||||||
|
(
|
||||||
|
volPointInterpolation::New(fvm).interpolate(*volFieldPtr_).ptr()
|
||||||
|
);
|
||||||
|
pointFieldPtr_ = storedPointFieldPtr_.operator->();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (debug)
|
if (debug)
|
||||||
|
|||||||
Reference in New Issue
Block a user