average field not stored

This commit is contained in:
mattijs
2009-03-20 13:44:37 +00:00
parent 92f97c8701
commit fa67230e18

View File

@ -153,6 +153,16 @@ void Foam::sampledIsoSurface::getIsoFields() const
} }
} }
// If averaging redo the volField. Can only be done now since needs the
// point field.
if (average_)
{
storedVolFieldPtr_.reset(average(fvm, *pointFieldPtr_).ptr());
volFieldPtr_ = storedVolFieldPtr_.operator->();
}
if (debug) if (debug)
{ {
Info<< "sampledIsoSurface::getIsoField() : volField " Info<< "sampledIsoSurface::getIsoField() : volField "
@ -241,6 +251,20 @@ void Foam::sampledIsoSurface::getIsoFields() const
pointSubFieldPtr_ = storedPointSubFieldPtr_.operator->(); pointSubFieldPtr_ = storedPointSubFieldPtr_.operator->();
} }
// If averaging redo the volField. Can only be done now since needs the
// point field.
if (average_)
{
storedVolSubFieldPtr_.reset
(
average(subFvm, *pointSubFieldPtr_).ptr()
);
volSubFieldPtr_ = storedVolSubFieldPtr_.operator->();
}
if (debug) if (debug)
{ {
Info<< "sampledIsoSurface::getIsoField() : volSubField " Info<< "sampledIsoSurface::getIsoField() : volSubField "
@ -394,68 +418,33 @@ bool Foam::sampledIsoSurface::updateGeometry() const
surfPtr_.clear(); surfPtr_.clear();
facesPtr_.clear(); facesPtr_.clear();
if (average_) if (subMeshPtr_.valid())
{ {
if (subMeshPtr_.valid()) surfPtr_.reset
{ (
surfPtr_.reset new isoSurface
( (
new isoSurface *volSubFieldPtr_,
( *pointSubFieldPtr_,
average(subMeshPtr_().subMesh(), *pointSubFieldPtr_), isoVal_,
*pointSubFieldPtr_, regularise_,
isoVal_, mergeTol_
regularise_, )
mergeTol_ );
)
);
}
else
{
surfPtr_.reset
(
new isoSurface
(
average(fvm, *pointFieldPtr_),
*pointFieldPtr_,
isoVal_,
regularise_,
mergeTol_
)
);
}
} }
else else
{ {
if (subMeshPtr_.valid()) surfPtr_.reset
{ (
surfPtr_.reset new isoSurface
( (
new isoSurface *volFieldPtr_,
( *pointFieldPtr_,
*volSubFieldPtr_, isoVal_,
*pointSubFieldPtr_, regularise_,
isoVal_, mergeTol_
regularise_, )
mergeTol_ );
)
);
}
else
{
surfPtr_.reset
(
new isoSurface
(
*volFieldPtr_,
*pointFieldPtr_,
//average(pointMesh::New(mesh()), *volFieldPtr_),
isoVal_,
regularise_,
mergeTol_
)
);
}
} }