GGI bridging bug fixes. Vuko Vukcevic

This commit is contained in:
Hrvoje Jasak 2018-02-09 12:10:57 +00:00
parent 188651d998
commit e95c5184e3
5 changed files with 0 additions and 147 deletions

View file

@ -189,9 +189,6 @@ tmp<Field<Type> > ggiFvPatchField<Type>::patchNeighbourField() const
// Note: bridging now takes into account fully uncovered and partially // Note: bridging now takes into account fully uncovered and partially
// covered faces. VV, 18/Oct/2017. // covered faces. VV, 18/Oct/2017.
ggiPatch_.bridge(bridgeField, pnf); ggiPatch_.bridge(bridgeField, pnf);
// Correct partially overlapping (partially bridged) faces
ggiPatch_.correctPartialFaces(bridgeField, pnf);
} }
return tpnf; return tpnf;

View file

@ -154,18 +154,6 @@ public:
return ggiPolyPatch_.bridge(bridgeField, ff); return ggiPolyPatch_.bridge(bridgeField, ff);
} }
//- Correct partially overlapping (partially bridged) faces
template<class Type>
void correctPartialFaces
(
const Field<Type>& bridgeField,
Field<Type>& ff
)
const
{
return ggiPolyPatch_.correctPartialFaces(bridgeField, ff);
}
// Interface transfer functions // Interface transfer functions

View file

@ -501,28 +501,6 @@ class GGIInterpolation
const scalarField& coveredFractions const scalarField& coveredFractions
); );
//- Correct partially covered faces given addressing
template<class Type>
static void correctPartiallyCoveredFaces
(
const Field<Type>& bridgeField,
Field<Type>& result,
const labelList& partiallyCoveredAddr,
const scalarField& coveredFractions
);
//- Correct partially covered faces given addressing for masked faces
// only
template<class Type>
static void maskedCorrectPartiallyCoveredFaces
(
const Field<Type>& bridgeField,
Field<Type>& result,
const labelList& mask,
const labelList& partiallyCoveredAddr,
const scalarField& coveredFractions
);
//- Is a transform required? //- Is a transform required?
inline bool doTransform() const inline bool doTransform() const
{ {
@ -687,24 +665,6 @@ public:
const labelList& mask const labelList& mask
) const; ) const;
//- Correct partially covered master patch field
template<class Type>
void correctPartialMaster
(
const Field<Type>& bridgeField,
Field<Type>& ff
) const;
//- Correct partially covered master patch field, only for marked master
// faces
template<class Type>
void maskedCorrectPartialMaster
(
const Field<Type>& bridgeField,
Field<Type>& ff,
const labelList& mask
) const;
//- Bridge uncovered slave patch field //- Bridge uncovered slave patch field
template<class Type> template<class Type>
void bridgeSlave void bridgeSlave
@ -722,24 +682,6 @@ public:
const labelList& mask const labelList& mask
) const; ) const;
//- Correct partially covered slave patch field
template<class Type>
void correctPartialSlave
(
const Field<Type>& bridgeField,
Field<Type>& ff
) const;
//- Correct partially covered slave patch field, only for marked slave
// faces
template<class Type>
void maskedCorrectPartialSlave
(
const Field<Type>& bridgeField,
Field<Type>& ff,
const labelList& mask
) const;
//- Interpolate point field //- Interpolate point field
template<class Type> template<class Type>
tmp<Field<Type> > masterToSlavePointInterpolate tmp<Field<Type> > masterToSlavePointInterpolate

View file

@ -378,14 +378,6 @@ public:
Field<Type>& ff Field<Type>& ff
) const; ) const;
//- Correct interpolated face field for partially covered faces
template<class Type>
void correctPartialFaces
(
const Field<Type>& bridgeField,
Field<Type>& ff
) const;
// Geometric data // Geometric data

View file

@ -267,70 +267,4 @@ void Foam::ggiPolyPatch::bridge
} }
template<class Type>
void Foam::ggiPolyPatch::correctPartialFaces
(
const Field<Type>& bridgeField,
Field<Type>& ff
) const
{
// Check
if (ff.size() != size())
{
FatalErrorIn
(
"tmp<Field<Type> > ggiPolyPatch::correctPartialFaces\n"
"(\n"
" Field<Type>& ff\n"
") const"
) << "Incorrect patch field size for partial face correction. "
<< "Field size: " << ff.size() << " patch size: " << size()
<< abort(FatalError);
}
if (bridgeOverlap())
{
if (empty())
{
// Patch empty, no bridging
return;
}
if (localParallel())
{
if (master())
{
patchToPatch().correctPartialMaster(bridgeField, ff);
}
else
{
patchToPatch().correctPartialSlave(bridgeField, ff);
}
}
else
{
// Note: since bridging is only a local operation
if (master())
{
patchToPatch().maskedCorrectPartialMaster
(
bridgeField,
ff,
zoneAddressing()
);
}
else
{
patchToPatch().maskedCorrectPartialSlave
(
bridgeField,
ff,
zoneAddressing()
);
}
}
}
}
// ************************************************************************* // // ************************************************************************* //