diff --git a/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricField.C b/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricField.C index 2ec59ff2d74d319d99e8c85d94afd55cd79e48d0..cd35ac3b3cb48ff4e46fc6e66ed86e07b4c3a224 100644 --- a/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricField.C +++ b/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricField.C @@ -1092,6 +1092,10 @@ void Foam::GeometricField<Type, PatchField, GeoMesh>::relax(const scalar alpha) << "Relaxing" << nl << this->info() << " by " << alpha << endl; operator==(prevIter() + alpha*(*this - prevIter())); + + // Make sure any e.g. jump-cyclic are updated. Note: unfortunately also + // triggers e.g. cyclic interpolation. + this->correctLocalBoundaryConditions(); } diff --git a/src/finiteArea/fields/faPatchFields/constraint/processor/processorFaPatchField.H b/src/finiteArea/fields/faPatchFields/constraint/processor/processorFaPatchField.H index e50d5a2a9184834334522c1762c14477baca4426..65ebe8a830f957e0f5864a0c2082ee100fbae4aa 100644 --- a/src/finiteArea/fields/faPatchFields/constraint/processor/processorFaPatchField.H +++ b/src/finiteArea/fields/faPatchFields/constraint/processor/processorFaPatchField.H @@ -175,7 +175,7 @@ public: virtual bool ready() const; //- Return neighbour field given internal field - tmp<Field<Type>> patchNeighbourField() const; + virtual tmp<Field<Type>> patchNeighbourField() const; // Evaluation diff --git a/src/finiteVolume/fields/fvPatchFields/constraint/cyclic/cyclicFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/constraint/cyclic/cyclicFvPatchField.H index b8199cb28eccaf38815d89da8d71d9770a2b94fb..84e8dcb6f9f6ee9a98951101206f3460150bdae4 100644 --- a/src/finiteVolume/fields/fvPatchFields/constraint/cyclic/cyclicFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/constraint/cyclic/cyclicFvPatchField.H @@ -170,7 +170,7 @@ public: // Evaluation functions //- Return neighbour coupled internal cell data - tmp<Field<Type>> patchNeighbourField() const; + virtual tmp<Field<Type>> patchNeighbourField() const; //- Return reference to neighbour patchField const cyclicFvPatchField<Type>& neighbourPatchField() const; diff --git a/src/finiteVolume/fields/fvPatchFields/constraint/jumpCyclic/jumpCyclicFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/constraint/jumpCyclic/jumpCyclicFvPatchField.H index 199215c62823a7def4e94a74b6a8a655219fdf22..5d46b8f67fbbc74854cfcd21cbf578edfd907f78 100644 --- a/src/finiteVolume/fields/fvPatchFields/constraint/jumpCyclic/jumpCyclicFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/constraint/jumpCyclic/jumpCyclicFvPatchField.H @@ -128,7 +128,7 @@ public: // Evaluation functions //- Return neighbour coupled given internal cell data - tmp<Field<Type>> patchNeighbourField() const; + virtual tmp<Field<Type>> patchNeighbourField() const; //- Update result field based on interface functionality virtual void updateInterfaceMatrix diff --git a/src/finiteVolume/fields/fvPatchFields/constraint/jumpCyclicAMI/jumpCyclicAMIFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/constraint/jumpCyclicAMI/jumpCyclicAMIFvPatchField.H index 81bc12133d9db69e5608e2f50c3b61ba552033b5..78208ad80bb616dd66d3dc449fc5e2de9d16fcbc 100644 --- a/src/finiteVolume/fields/fvPatchFields/constraint/jumpCyclicAMI/jumpCyclicAMIFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/constraint/jumpCyclicAMI/jumpCyclicAMIFvPatchField.H @@ -128,7 +128,7 @@ public: // Evaluation functions //- Return neighbour coupled given internal cell data - tmp<Field<Type>> patchNeighbourField() const; + virtual tmp<Field<Type>> patchNeighbourField() const; //- Update result field based on interface functionality virtual void updateInterfaceMatrix