tmp<Field<Type> > regionCouplingFvPatchField<Type>::patchNeighbourField() const { Field<Type> sField = shadowPatchField().patchInternalField(); tmp<Field<Type> > tpnf ( regionCouplePatch_.interpolate ( shadowPatchField().patchInternalField() ) ); Field<Type>& pnf = tpnf(); if (regionCouplePatch_.bridgeOverlap()) { // Symmetry treatment used for overlap vectorField nHat = this->patch().nf(); // Use mirrored neighbour field for interpolation // HJ, 21/Jan/2009 Field<Type> bridgeField = transform(I - 2.0*sqr(nHat), this->patchInternalField()); regionCouplePatch_.bridge(bridgeField, pnf); } return tpnf; }
void chtRcThermalDiffusivityResistanceFvPatchScalarField::updateCoeffs() { if (updated()) { return; } calcThermalDiffusivity(*this, shadowPatchField()); }