Correct averaging in ProcessorPointPatchField

This commit is contained in:
Dominik Christ 2015-04-22 18:20:22 +01:00
parent ec44c952c9
commit 0e113e1a5d
2 changed files with 10 additions and 6 deletions

View file

@ -73,3 +73,4 @@
Tian Tang Tian Tang
Zeljko Tukovic Zeljko Tukovic
Niklas Wikstrom Niklas Wikstrom
Vanja Skuric

View file

@ -511,18 +511,21 @@ evaluate
} }
// Average over two sides // Average over two sides
// VS, 2015-04-12 - This works in parallel!
tpn = 0.5*(this->patchInternalField(this->internalField()) + tpn);
// ZT, 22-07-2014 - point ordering is not same // ZT, 22-07-2014 - point ordering is not same
// at master and slave side after topology change // at master and slave side after topology change
const labelList& neiPoints = const labelList& neiPoints =
procPatch_.procPolyPatch().neighbPoints(); procPatch_.procPolyPatch().neighbPoints();
tpn = // VS, 2015-04-12 - This doesn't work in parallel!
0.5* // tpn =
( // 0.5*
this->patchInternalField(this->internalField()) // (
+ Field<Type>(tpn, neiPoints) // this->patchInternalField(this->internalField())
); // + Field<Type>(tpn, neiPoints)
// );
// Get internal field to insert values into // Get internal field to insert values into
Field<Type>& iF = const_cast<Field<Type>&>(this->internalField()); Field<Type>& iF = const_cast<Field<Type>&>(this->internalField());