CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > OpenFOAM Running, Solving & CFD

Code for EARSM by Hellsten and RSM by Manceau, square duct, 2d turbulent channel

Register Blogs Members List Search Today's Posts Mark Forums Read

Reply
 
LinkBack Thread Tools Display Modes
Old   July 18, 2013, 07:39
Default Code for EARSM by Hellsten and RSM by Manceau, square duct, 2d turbulent channel
  #1
Member
 
Join Date: Apr 2009
Location: Karlsruhe, Germany
Posts: 96
Rep Power: 8
Thomas Baumann is on a distinguished road
Hi everybody,

under the link

http://www.istm.kit.edu/english/83.php


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)

PICS:
RSM: Reynolds stress profiles of a 2d channel
RSM_2dchannel_Reynolds_stresses.png

RSM: Square Duct
RSM_ep_alpha.jpg
RSM_square_duct1.jpg
RSM_square_duct2.jpg



Post-Processing yplus: To check the y+ values: post-processing tool to calculate them using low Reynolds models.

Good luck

Thomas
Thomas Baumann is offline   Reply With Quote

Old   October 16, 2013, 20:04
Default
  #2
New Member
 
Join Date: Jun 2013
Posts: 3
Rep Power: 4
alexander_s is on a distinguished road
Hello Thomas,

thank you very much for providing your files!

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 in advance!
Alex
alexander_s is offline   Reply With Quote

Old   October 23, 2013, 11:43
Default
  #3
Member
 
Join Date: Apr 2009
Location: Karlsruhe, Germany
Posts: 96
Rep Power: 8
Thomas Baumann is on a distinguished road
Hi,

I have uploaded it now.

Try following link:

https://dl.dropboxusercontent.com/u/...channel.tar.gz

Regards Thomas
Thomas Baumann is offline   Reply With Quote

Old   October 29, 2013, 21:15
Default
  #4
New Member
 
Join Date: Jun 2013
Posts: 3
Rep Power: 4
alexander_s is on a distinguished road
Hello Thomas,

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?

Best wishes,
Alex
alexander_s is offline   Reply With Quote

Old   October 29, 2013, 23:10
Default
  #5
Member
 
Join Date: Apr 2009
Location: Karlsruhe, Germany
Posts: 96
Rep Power: 8
Thomas Baumann is on a distinguished road
Hi,

here is the correct link for the quad-channel.

https://dl.dropboxusercontent.com/u/...channel.tar.gz

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 ....)

Best regards,

Thomas
Thomas Baumann is offline   Reply With Quote

Old   October 31, 2013, 12:52
Default
  #6
New Member
 
Join Date: Jun 2013
Posts: 3
Rep Power: 4
alexander_s is on a distinguished road
Hi Thomas,

thank you once again. You helped me a lot!

Alex
alexander_s is offline   Reply With Quote

Old   February 17, 2014, 04:34
Default
  #7
New Member
 
Bla× Miku×
Join Date: Sep 2011
Location: Ljubljana
Posts: 27
Rep Power: 5
bmikuz is on a distinguished road
Hi Thomas,

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:

HTML Code:
/*---------------------------------------------------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  2.1.1                                 |
|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
Build  : 2.1.1-221db2718bbb
Exec   : decomposePar
Date   : Feb 17 2014
Time   : 09:29:22
Host   : "krn"
PID    : 31017
Case   : /home/r4/mikuz/MATIS-H/MATiS-bmk/steady/Mine_Fine_mesh/Baumann/quadchannel_paral
nProcs : 1
sigFpe : Enabling floating point exception trapping (FOAM_SIGFPE).
fileModificationChecking : Monitoring run-time modified files using timeStampMaster
allowSystemOperations : Disallowing user-supplied system call operations

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Create time

--> FOAM Warning : 
    From function dlOpen(const fileName&, const bool)
    in file POSIX.C at line 1175
    dlopen error : /home/r4/mikuz/OpenFOAM/mikuz-2.1.1/platforms/linux64GccDPOpt/lib/libRSMEBMenhanced.so: undefined symbol: _ZN4Foam14incompressible8RASModel11printCoeffsEv
--> FOAM Warning : 
    From function dlLibraryTable::open(const fileName&, const bool)
    in file db/dynamicLibrary/dlLibraryTable/dlLibraryTable.C at line 96
    could not load "/home/r4/mikuz/OpenFOAM/mikuz-2.1.1/platforms/linux64GccDPOpt/lib/libRSMEBMenhanced.so"
Create mesh

Calculating distribution of cells
Selecting decompositionMethod simple

Finished decomposition in 0.29 s

Calculating original mesh data

Distributing cells to processors

Distributing faces to processors

Distributing points to processors

Constructing processor meshes
--> FOAM Warning : 
    From function dlOpen(const fileName&, const bool)
    in file POSIX.C at line 1175
    dlopen error : /home/r4/mikuz/OpenFOAM/mikuz-2.1.1/platforms/linux64GccDPOpt/lib/libRSMEBMenhanced.so: undefined symbol: _ZN4Foam14incompressible8RASModel11printCoeffsEv
--> FOAM Warning : 
    From function dlLibraryTable::open(const fileName&, const bool)
    in file db/dynamicLibrary/dlLibraryTable/dlLibraryTable.C at line 96
    could not load "/home/r4/mikuz/OpenFOAM/mikuz-2.1.1/platforms/linux64GccDPOpt/lib/libRSMEBMenhanced.so"

Processor 0
    Number of cells = 63000
    Number of faces shared with processor 1 = 3718
    Number of processor patches = 1
    Number of processor faces = 3718
    Number of boundary faces = 7800
--> FOAM Warning : 
    From function dlOpen(const fileName&, const bool)
    in file POSIX.C at line 1175
    dlopen error : /home/r4/mikuz/OpenFOAM/mikuz-2.1.1/platforms/linux64GccDPOpt/lib/libRSMEBMenhanced.so: undefined symbol: _ZN4Foam14incompressible8RASModel11printCoeffsEv
--> FOAM Warning : 
    From function dlLibraryTable::open(const fileName&, const bool)
    in file db/dynamicLibrary/dlLibraryTable/dlLibraryTable.C at line 96
    could not load "/home/r4/mikuz/OpenFOAM/mikuz-2.1.1/platforms/linux64GccDPOpt/lib/libRSMEBMenhanced.so"

Processor 1
    Number of cells = 63000
    Number of faces shared with processor 0 = 3718
    Number of faces shared with processor 2 = 3600
    Number of processor patches = 2
    Number of processor faces = 7318
    Number of boundary faces = 4200
--> FOAM Warning : 
    From function dlOpen(const fileName&, const bool)
    in file POSIX.C at line 1175
    dlopen error : /home/r4/mikuz/OpenFOAM/mikuz-2.1.1/platforms/linux64GccDPOpt/lib/libRSMEBMenhanced.so: undefined symbol: _ZN4Foam14incompressible8RASModel11printCoeffsEv
--> FOAM Warning : 
    From function dlLibraryTable::open(const fileName&, const bool)
    in file db/dynamicLibrary/dlLibraryTable/dlLibraryTable.C at line 96
    could not load "/home/r4/mikuz/OpenFOAM/mikuz-2.1.1/platforms/linux64GccDPOpt/lib/libRSMEBMenhanced.so"

Processor 2
    Number of cells = 63000
    Number of faces shared with processor 1 = 3600
    Number of faces shared with processor 3 = 3718
    Number of processor patches = 2
    Number of processor faces = 7318
    Number of boundary faces = 4200
--> FOAM Warning : 
    From function dlOpen(const fileName&, const bool)
    in file POSIX.C at line 1175
    dlopen error : /home/r4/mikuz/OpenFOAM/mikuz-2.1.1/platforms/linux64GccDPOpt/lib/libRSMEBMenhanced.so: undefined symbol: _ZN4Foam14incompressible8RASModel11printCoeffsEv
--> FOAM Warning : 
    From function dlLibraryTable::open(const fileName&, const bool)
    in file db/dynamicLibrary/dlLibraryTable/dlLibraryTable.C at line 96
    could not load "/home/r4/mikuz/OpenFOAM/mikuz-2.1.1/platforms/linux64GccDPOpt/lib/libRSMEBMenhanced.so"

Processor 3
    Number of cells = 63000
    Number of faces shared with processor 2 = 3718
    Number of processor patches = 1
    Number of processor faces = 3718
    Number of boundary faces = 7800

Number of processor faces = 11036
Max number of cells = 63000 (0% above average 63000)
Max number of processor patches = 2 (33.3333% above average 1.5)
Max number of faces between processors = 7318 (32.6205% above average 5518)

Time = 0

Processor 0: field transfer
--> FOAM Warning : 
    From function dlOpen(const fileName&, const bool)
    in file POSIX.C at line 1175
    dlopen error : /home/r4/mikuz/OpenFOAM/mikuz-2.1.1/platforms/linux64GccDPOpt/lib/libRSMEBMenhanced.so: undefined symbol: _ZN4Foam14incompressible8RASModel11printCoeffsEv
--> FOAM Warning : 
    From function dlLibraryTable::open(const fileName&, const bool)
    in file db/dynamicLibrary/dlLibraryTable/dlLibraryTable.C at line 96
    could not load "/home/r4/mikuz/OpenFOAM/mikuz-2.1.1/platforms/linux64GccDPOpt/lib/libRSMEBMenhanced.so"
Processor 1: field transfer
--> FOAM Warning : 
    From function dlOpen(const fileName&, const bool)
    in file POSIX.C at line 1175
    dlopen error : /home/r4/mikuz/OpenFOAM/mikuz-2.1.1/platforms/linux64GccDPOpt/lib/libRSMEBMenhanced.so: undefined symbol: _ZN4Foam14incompressible8RASModel11printCoeffsEv
--> FOAM Warning : 
    From function dlLibraryTable::open(const fileName&, const bool)
    in file db/dynamicLibrary/dlLibraryTable/dlLibraryTable.C at line 96
    could not load "/home/r4/mikuz/OpenFOAM/mikuz-2.1.1/platforms/linux64GccDPOpt/lib/libRSMEBMenhanced.so"
Processor 2: field transfer
--> FOAM Warning : 
    From function dlOpen(const fileName&, const bool)
    in file POSIX.C at line 1175
    dlopen error : /home/r4/mikuz/OpenFOAM/mikuz-2.1.1/platforms/linux64GccDPOpt/lib/libRSMEBMenhanced.so: undefined symbol: _ZN4Foam14incompressible8RASModel11printCoeffsEv
--> FOAM Warning : 
    From function dlLibraryTable::open(const fileName&, const bool)
    in file db/dynamicLibrary/dlLibraryTable/dlLibraryTable.C at line 96
    could not load "/home/r4/mikuz/OpenFOAM/mikuz-2.1.1/platforms/linux64GccDPOpt/lib/libRSMEBMenhanced.so"
Processor 3: field transfer
--> FOAM Warning : 
    From function dlOpen(const fileName&, const bool)
    in file POSIX.C at line 1175
    dlopen error : /home/r4/mikuz/OpenFOAM/mikuz-2.1.1/platforms/linux64GccDPOpt/lib/libRSMEBMenhanced.so: undefined symbol: _ZN4Foam14incompressible8RASModel11printCoeffsEv
--> FOAM Warning : 
    From function dlLibraryTable::open(const fileName&, const bool)
    in file db/dynamicLibrary/dlLibraryTable/dlLibraryTable.C at line 96
    could not load "/home/r4/mikuz/OpenFOAM/mikuz-2.1.1/platforms/linux64GccDPOpt/lib/libRSMEBMenhanced.so"

End.
Do you have the same problem?

Thanks!
Blaz
bmikuz is offline   Reply With Quote

Old   March 3, 2014, 15:52
Default
  #8
New Member
 
Mohammadreza Abyanaki
Join Date: Jan 2011
Posts: 2
Rep Power: 0
mra-cfd is on a distinguished road
Dear Thomas,

Would you please write down exact reference to works of Manceau and Hellsten? I am not sure about title of the papers.

Regards,
Mohammadreza
mra-cfd is offline   Reply With Quote

Old   August 4, 2014, 15:23
Default Expressing the production term 'G'
  #9
Member
 
Manan
Join Date: Oct 2013
Location: G÷teborg
Posts: 37
Rep Power: 3
MaLa is on a distinguished road
Hi Thomas

Thanks for the code!

Last edited by MaLa; August 4, 2014 at 17:28.
MaLa is offline   Reply With Quote

Old   November 27, 2014, 16:31
Default
  #10
New Member
 
Join Date: Feb 2013
Posts: 18
Rep Power: 4
Shahr is on a distinguished road
Thanks for sharing your code and the results.

Has anybody managed to compile the EARSM code for newer openfoam versions?

I have been struggling with it for some time without any success.
Shahr is offline   Reply With Quote

Old   January 18, 2015, 16:12
Default
  #11
Member
 
Join Date: Apr 2009
Location: Karlsruhe, Germany
Posts: 96
Rep Power: 8
Thomas Baumann is on a distinguished road
Here are some infos; bit late

the EARSM from Hellsten is the version from his Dissertation:
new two equation turbulence model for aerodynamics applications.

The RSM by Manceau should be the one from the paper:
AN IMPROVED VERSION OF THE ELLIPTIC BLENDING MODEL
APPLICATION TO NON-ROTATING AND ROTATING CHANNEL FLOWS
Thomas Baumann is offline   Reply With Quote

Old   April 10, 2015, 08:56
Default
  #12
New Member
 
Join Date: Jul 2012
Location: Gothenburg, Sweden
Posts: 2
Rep Power: 0
Ardali is on a distinguished road
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.

This is my REq:

tmp<fvSymmTensorMatrix> REqn
(
fvm::ddt(R_)
+ fvm::div(phi_, R_)
//+ fvm::SuSp(-fvc::div(phi_), R_)
- fvm::Sp(fvc::div(phi_), R_)
- fvm::laplacian(nu(), R_)
- fvm::laplacian(CMu/sigmak*TEBM*R_,R_) //anisotrope SSG-Modellierung
+ fvm::Sp(anisotrope, R_)
==
P
- fvm::Sp(epsilonterm1, R_)
+isotrope
-epsilonterm2
+phistar
);
////////////////////
If you have problem with it contact me!
Ardalan Javadi

Last edited by Ardali; April 23, 2015 at 12:43.
Ardali is offline   Reply With Quote

Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On



All times are GMT -4. The time now is 03:00.