CFD Online Discussion Forums

CFD Online Discussion Forums (
-   OpenFOAM Programming & Development (
-   -   Wall function BC:s on regionCouple patches (

Ola Widlund December 2, 2011 11:03

Wall function BC:s on regionCouple patches

I'm using the regionCouple functionality in 1.6-ext for problems in electrohydrodynamics, involving fluid flow and charge transport across fluid/solid interfaces.

If my flow is turbulent, I want to use the turbulence wall function boundary conditions implemented in classes epsilonWallFunctionFvPatchScalarField, nutWallFunctionFvPatchScalarField, etc. The problem is that these BC classes require the coupled boundary to descend from the wallFvPatch class, rather than from the fvPatch class (via coupledFvPatch).

In the explicit coupling which is part of the OpenCFD distribution solves this by introducing a whole line of directMappedWall classes on different levels, as opposed to the directMapped class which holds the basic inter-region coupling functionality.

I think my problems is best solved in the same way. That is, by implementing a bunch of "wall" classes, bottom up, to do the same for the otherwise already excellent implicit regionCouple functionality.

It's not extreme amounts of work, but anyway: Has someone already done it? Otherwise my weekend is saved... :)


Ola Widlund December 6, 2011 08:10

It seems I'm the only one who thinks this is an interesting topic... :)

Ok, I've done the new regionCouple classes needed, to make the coupled boundaries masquerade as wall patches, so that wall function BC:s work. It seems to work, no particular surprises. The new classes are: regionCoupleWallPolyPatch, regionCoupleWallFvPatch, coupledWallPolyPatch, coupledWallFvPatch and a bunch of templated regionCoupleWallFvPatchFields.

It would be great if I could also make the GAMG solver work, at least for the un-coupled flow problem, when the regionCouple patches are detached. For that to work, one would presumably have to define a new GAMGinterface class to handle regionCouple patches. I see there are already GAMGinterfaces for the Ggi stuff, so it shouldn't be impossible. At a detached regionCouple patch, there is not even any action across the boundary, so it should be enough to fool GAMG to believe it's a wall.

To make GAMG work for the coupled matrices as a whole is of course another story! Could it be done, or are there any fundamental issues that can't be overcome?

Best regards,


elisabet February 1, 2013 08:24

Dear Ola and foamers,

I've encountered the same problem of using regionCouple and needing wall functions on the same patch. Following Ola's instructions, I've spent some hours solving the problem and creating the new b.c. that uses the wallPolyPatch class. After succeeding and testing the new b.c. my case was ready to be sent to the cluster of PC. The case is running now perfectly (as far as I know).

But then, suddenly, I remembered that in the cluster I had a newer OF version (still 1.6-ext, but a recent one) where the regionCouple b.c. asks for the 'isWall' input label. I have just checked the code and found that if this 'isWall' label is set to 'yes', then wall functions can perfectly be used!!!!!

So, don't repeat my errors!!!

All times are GMT -4. The time now is 07:20.