Removed unnecessary global reduce in AMG interface coarsening
This commit is contained in:
parent
b8f2798408
commit
4d454840d5
2 changed files with 8 additions and 11 deletions
|
@ -46,11 +46,9 @@ void Foam::GGIBlockAMGInterfaceField<Type>::agglomerateBlockType
|
|||
const ggiLduInterface& fineGgiInterface = ggiInterface_.fineGgiInterface();
|
||||
|
||||
// Reassemble fine coefficients to full fine zone size
|
||||
Field<Type2> zoneFineCoeffs
|
||||
(
|
||||
fineGgiInterface.zoneSize(),
|
||||
pTraits<Type2>::zero
|
||||
);
|
||||
// No need to initialise to zero, as only local coefficients
|
||||
// are used. HJ, 9/Jun/2016
|
||||
Field<Type2> zoneFineCoeffs(fineGgiInterface.zoneSize());
|
||||
|
||||
const labelList& fineZa = fineGgiInterface.zoneAddressing();
|
||||
|
||||
|
@ -59,11 +57,8 @@ void Foam::GGIBlockAMGInterfaceField<Type>::agglomerateBlockType
|
|||
zoneFineCoeffs[fineZa[i]] = fineCoeffs[i];
|
||||
}
|
||||
|
||||
// Reduce zone data
|
||||
if (!ggiInterface_.localParallel())
|
||||
{
|
||||
reduce(zoneFineCoeffs, sumOp<Field<Type2> >());
|
||||
}
|
||||
// Reduce zone data is not required: all coefficients are local
|
||||
// HJ, 9/Jun/2016
|
||||
|
||||
Field<Type2> zoneCoarseCoeffs
|
||||
(
|
||||
|
|
|
@ -723,7 +723,9 @@ Foam::tmp<Foam::scalarField> Foam::ggiAMGInterface::agglomerateCoeffs
|
|||
// HJ, 16/Mar/2016
|
||||
|
||||
// Reassemble fine coefficients to full fine zone size
|
||||
scalarField zoneFineCoeffs(fineGgiInterface_.zoneSize(), 0);
|
||||
// No need to initialise to zero, as only local coefficients
|
||||
// are used. HJ, 9/Jun/2016
|
||||
scalarField zoneFineCoeffs(fineGgiInterface_.zoneSize());
|
||||
|
||||
const labelList& fineZa = fineGgiInterface_.zoneAddressing();
|
||||
|
||||
|
|
Reference in a new issue