you can download some codes and tutorials of turbulence models I implemented in OpenFOAM for different versions. They are implemented for incompressible flow (simpleFoam, pisoFoam,...). I validated them at serveral cases (2d channel, square duct, annular pipe flow, rod bundles).

OpenFOAM 1.7.0
Code: nonlinear algebraic stress model ( EARSM ) by Hellsten and two validationcases: channel flow and square duct. Good agreement of the velocity profile at the 2d channel. The uv Reynolds stress is good (even for a annular pipe flow). (uu, vv, ww) are too low.
Pic: EARSM_2dchannel_Reynolds_stresses.jpg

OpenFOAM 2.1.0
Code: Reynolds stress model ( RSM ) by Manceau and the same two validation cases. Good agreement of velocity profiles, Reynolds stresses and secondary flows (see the pics)

I am interested in your square duct simulation using the Reynolds-stress model you implemented. Unfortunately, the link to the case setup (OF211_RSM_Manceau_quadchannel) doesn't work correctly (it's linked to the EARSM case). I wonder if you could fix it or upload your case folder here, since I have some problems with setting the right boundary conditions / fvSchemes.

thank you very much for your reply. Could you also upload the 3D case of a square duct (OF211_RSM_Manceau_quadchannel) or do you use the same boundary conditions and fvSchemes as for the 2D channel?

Furthermore, I have some questions concerning the 2D case you've just uploaded.
What kind of boundary condition do you use for epsilon? Do you calculate the values for epsilon a priori and impose them as fixedValue?
Is the initialization of the flow field important?
If I get it right, there is no need for any lowReWallfunctions when using your code?

It is a low Reynolds-number model with a elliptic factor, no damping functions are necessary... epsilon is calculated by a correction-function within the code. Its put to fixed value, but every time step the boundary values are updated.

I made pre-simulations with the Launder-Sharma-model and used the results as starting conditions, because of the model is very sensitive.
Of course, you have to correct the boundary conditions.

You must read the papers of Manceau to understand the code. (an improved version ....)

I've tried your quadchannel case and it works fine if I run it on a single core. Since I'd like to test it also on a bigger case I'll need to run it in parallel. The problem is that the case cannot be decomposed and it returns me the following error:

I'm working with Remi Manceau now, your code is helpful a lot
A note:
The current version of the code is not robust.
You need to make it stable.
Split the anisotoropy tensor to deviatic and diagonal and use Sp in deviatic part! check the implementation of Spezial-Sarkar-Gatski RSM as well.