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

Flow around cylinder with DES in Re=3900

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

Like Tree3Likes
  • 1 Post By piu58
  • 1 Post By piu58
  • 1 Post By Santiago

Reply
 
LinkBack Thread Tools Display Modes
Old   April 12, 2016, 09:16
Default Flow around cylinder with DES in Re=3900
  #1
New Member
 
Qin Zhang
Join Date: May 2012
Posts: 7
Rep Power: 6
zhangqin200000 is on a distinguished road
Hi All,
I want to validate the DES model in OpenFOAM by simulating the flow around circular cylinder at Re=3900. The wake flow looks ok, but the mean Cd is around 1.2, which should be around 0.98~1.05 according to experimental data.

This validation case has been test a lot by other guys and code. I also tried to increase the grid size (from 0.5m to 3.5m); play around nuTilda and nut; different numerical schemes, different OpenFOAM versions, etc. The mean Cd is still higher than I expect.

Could anyone help me out?

Many thanks,

Qin
zhangqin200000 is offline   Reply With Quote

Old   March 18, 2017, 09:38
Default
  #2
Senior Member
 
Fumiya Nozaki
Join Date: Jun 2010
Location: Yokohama, Japan
Posts: 211
Blog Entries: 1
Rep Power: 10
fumiya is on a distinguished road
According to the following paper, the turbulence models have a relatively large impact on the mean Cd value:
https://www.researchgate.net/publica...using_OpenFOAM

Best regards,
Fumiya
__________________
fumiya is offline   Reply With Quote

Old   March 18, 2017, 12:44
Default
  #3
Member
 
piu58's Avatar
 
Uwe Pilz
Join Date: Feb 2017
Location: Leipzig, Germany
Posts: 78
Rep Power: 2
piu58 is on a distinguished road
Dear Qin,

form this simple example - flow around a cylinder - one may learn a lot how complicated cfd simulations are. Most publications in this field are not able to show the course of the experimental data, even if one would accept some slightly dislocation of the curve. To get the real experimental data for w wide range of Reynold numbers (the most accurate are from Schlichting) is hard to solve.

I experiment in that field and will sum my results in an article. But I still need some weeks for it. What I can say now is
- Low Re and high Re require different strategy, differnt solvers. At the moment I calculate higher Re form 1000 upward
- The mesh plays an important role. I experimented with the mesh at Re=1000, because delta x needs not to bee very high for a decent y+. A very fin mesh is not sufficient, the mesh should be well balanced.
- The simulated areas need to be large enough. Especially at lower Re numbers, the y direction needs to be larger. Fluid friction reaches wide out. It is worth experimenting with that keeping the mesh balanced.
- The length of simulated outflow is important too.
- It is worth to find the coarsest mesh and the smallest simulated area, because at higher Re numbers the mesh needs to be much finer and the calculation time increases.

At the moment I experiment with 2d geometry. If I understand all effects I will make some calculations 3d. It would last much too long if I would performe every experimental run in 3d (at a normal PC).
zhangqin200000 likes this.
__________________
Uwe Pilz
--
Sie ahnen nicht, wieviel Poesie in der Berechnung
einer Logarithmentafel enthalten ist (Carl Friedrich Gauß)
piu58 is offline   Reply With Quote

Old   March 18, 2017, 14:24
Default
  #4
Member
 
piu58's Avatar
 
Uwe Pilz
Join Date: Feb 2017
Location: Leipzig, Germany
Posts: 78
Rep Power: 2
piu58 is on a distinguished road
From my experments I give you a mesh which works fine for Re=3900. Some commenst are in German, sorry fort that. The mesh comes from a simple script based mesh generator, therfore the comments are "jumping". I use LES for my simulations.

With this mesh I get a cp value of around 0.98 (it moves with the flow between 0.945 and 1.015).

Maximum y+ at the cylinder wall is 9.3.

I give two images of the quasi stationary flow:



In the forst one, the Prandl layer can be seen easily.

Code:
FoamFile {
 version 2.0;
 format ascii;
 class dictionary;
 object blockMeshDict;
}


convertToMeters 1;

vertices (
	(0.5 0 -0.5)               // 0
	(1 0 -0.5)                 // 1
	(5 0 -0.5)             // 2
	(5 0.707107 -0.5)      // 3 
	(0.707107 0.707107 -0.5)   // 4
	(0.353553 0.353553 -0.5)   // 5
	(5 4.5 -0.5)         // 6o
	(0.707107 4.5 -0.5)      // 7o
	(0 4.5 -0.5)             // 8o
	(0 1 -0.5)                 // 9
	(0 0.5 -0.5)               //10
	(-0.5 0 -0.5)              //11
	(-1 0 -0.5)                //12
	(-5 0 -0.5)             //13 linke Kante
	(-5 0.707107 -0.5)      //14 linke Kante
	(-0.707107 0.707107 -0.5)  //15
	(-0.353553 0.353553 -0.5)  //16
	(-5 4.5 -0.5)         //17o linke Kante, obere Kante
	(-0.707107 4.5 -0.5)     //18o = Ende oberer linker Teil
	
	(0.5 0 0.5)              //19
	(1 0 0.5)                //20
	(5 0 0.5)            //21
	(5 0.707107 0.5)     //22
	(0.707107 0.707107 0.5)  //23
	(0.353553 0.353553 0.5)  //24
	(5 4.5 0.5)        //25o
	(0.707107 4.5 0.5)     //26o
	(0 4.5 0.5)            //27o
	(0 1 0.5)                //28
	(0 0.5 0.5)              //29
	(-0.5 0 0.5)             //30
	(-1 0 0.5)               //31
	(-5 0 0.5)            //32 linke Kante
	(-5 0.707107 0.5)     //33 linke Kante
	(-0.707107 0.707107 0.5) //34 
	(-0.353553 0.353553 0.5) //35
	(-5 4.5 0.5)        //36o linke Kante
	(-0.707107 4.5 0.5)    //37o = Ende oberer rechter Teil
	
	(5 -0.707107 -0.5)     //38
	(0.707107 -0.707107 -0.5)  //39
	(0.353553 -0.353553 -0.5)  //40
	(5 -4.5 -0.5)        //41u
	(0.707107 -4.5 -0.5)     //42u
	(0 -4.5 -0.5)            //43u
	(0 -1 -0.5)                //44
	(0 -0.5 -0.5)              //45
	(-5 -0.707107 -0.5)     //46
	(-0.707107 -0.707107 -0.5) //47
	(-0.353553 -0.353553 -0.5) //48
	(-5 -4.5 -0.5)        //49u
	(-0.707107 -4.5 -0.5)    //50u
	(5 -0.707107 0.5)      //51
	(0.707107 -0.707107 0.5)   //52
	(0.353553 -0.353553 0.5)   //53
	(5 -4.5 0.5)         //54u
	(0.707107 -4.5 0.5)      //55u
	(0 -4.5 0.5)             //56u
	(0 -1 0.5)                 //57
	(0 -0.5 0.5)               //58
	(-5 -0.707107 0.5)      //59
	(-0.707107 -0.707107 0.5)  //60
	(-0.353553 -0.353553 0.5)  //61
	(-5  -4.5 0.5)        //62u
	(-0.707107 -4.5 0.5)     //63u
);

/* wirkliche Blöcke */
blocks (
	hex ( 5  4  9 10 24 23 28 29) (5 5 1)   simpleGrading (2 1     1) //0
	hex ( 0  1  4  5 19 20 23 24) (5 5 1)   simpleGrading (2 1     1) //1
	hex ( 1  2  3  4 20 21 22 23) (45  5 1)   simpleGrading (3  1     1) //2
	hex ( 4  3  6  7 23 22 25 26) (45  27 1)  simpleGrading (3 2  1) //3 o
	hex ( 9  4  7  8 28 23 26 27) (5   27 1)  simpleGrading ( 1    2  1) //4 o
	hex (16 10  9 15 35 29 28 34) (5   5 1) simpleGrading ( 1    2 1) //5
	hex (11 16 15 12 30 35 34 31) (5   5 1) simpleGrading ( 1    2 1) //6
	hex (12 15 14 13 31 34 33 32) (5   25 1)  simpleGrading ( 1    2  1) //7    Elemente nach vorn
	hex (15 18 17 14 34 37 36 33) (27  25 1)  simpleGrading (2 2  1) //8 o  Elemente nach vorn
	hex ( 9  8 18 15 28 27 37 34) (27  5 1)   simpleGrading (2  1     1) //9 o
	 
	hex (40 45 44 39 53 58 57 52) (5   5 1) simpleGrading ( 1    2 1) //10
	hex ( 0 40 39  1 19 53 52 20) (5   5 1) simpleGrading ( 1    2 1) //11
	hex ( 1 39 38  2 20 52 51 21) (5   45 1)  simpleGrading ( 1    3  1) //12
	hex (39 42 41 38 52 55 54 51) (27  45 1)  simpleGrading (2 3  1) //13u
	hex (44 43 42 39 57 56 55 52) (27  5 1)   simpleGrading (2  1     1) //14u
	hex (48 47 44 45 61 60 57 58) (5 5 1)   simpleGrading (2 1     1) //15
	hex (11 12 47 48 30 31 60 61) (5 5 1)   simpleGrading (2 1     1) //16
	hex (12 13 46 47 31 32 59 60) (25  5 1)   simpleGrading (2  1     1) //17 Elemente nach vorn
	hex (47 46 49 50 60 59 62 63) (25  27 1)  simpleGrading (2 2  1) //18u Elemente nach vorn
	hex (44 47 50 43 57 60 63 56) (5 27 1)   simpleGrading ( 1    2  1) //19u
);





edges (
	arc 0 5 (0.469846 0.17101 -0.5)
	arc 5 10 (0.17101 0.469846 -0.5)
	arc 1 4 (0.939693 0.34202 -0.5)
	arc 4 9 (0.34202 0.939693 -0.5)
	arc 19 24 (0.469846 0.17101 0.5)
	arc 24 29 (0.17101 0.469846 0.5)
	arc 20 23 (0.939693 0.34202 0.5)
	arc 23 28 (0.34202 0.939693 0.5)
	arc 11 16 (-0.469846 0.17101 -0.5)
	arc 16 10 (-0.17101 0.469846 -0.5)
	arc 12 15 (-0.939693 0.34202 -0.5)
	arc 15 9 (-0.34202 0.939693 -0.5)
	arc 30 35 (-0.469846 0.17101 0.5)
	arc 35 29 (-0.17101 0.469846 0.5)
	arc 31 34 (-0.939693 0.34202 0.5)
	arc 34 28 (-0.34202 0.939693 0.5)
	arc 0 40 (0.469846 -0.17101 -0.5)
	arc 40 45 (0.17101 -0.469846 -0.5)
	arc 1 39 (0.939693 -0.34202 -0.5)
	arc 39 44 (0.34202 -0.939693 -0.5)
	arc 19 53 (0.469846 -0.17101 0.5)
	arc 53 58 (0.17101 -0.469846 0.5)
	arc 20 52 (0.939693 -0.34202 0.5)
	arc 52 57 (0.34202 -0.939693 0.5)
	arc 11 48 (-0.469846 -0.17101 -0.5)
	arc 48 45 (-0.17101 -0.469846 -0.5)
	arc 12 47 (-0.939693 -0.34202 -0.5)
	arc 47 44 (-0.34202 -0.939693 -0.5)
	arc 30 61 (-0.469846 -0.17101 0.5)
	arc 61 58 (-0.17101 -0.469846 0.5)
	arc 31 60 (-0.939693 -0.34202 0.5)
	arc 60 57 (-0.34202 -0.939693 0.5)
);

boundary  (
	top	{
		type symmetryPlane;
		faces	(
			(7 8 27 26)
			(6 7 26 25)
			(8 18 37 27)
			(18 17 36 37)
		);
	}
	
	bottom	{
		type symmetryPlane;
		faces (
			(49 50 63 62)
			(50 43 56 63)
			(43 42 55 56)
			(42 41 54 55)
		);
	}

	inlet {
		type wall;
		faces (
			(14 13 32 33)
			(17 14 33 36)
			(46 13 32 59)
			(46 49 62 59)
		);
	}
	
	outlet	{
		type wall;
		faces (
			(2 3 22 21)
			(3 6 25 22)
			(38 51 21 2)
			(41 54 51 38)
		);
	}

	cylinder {
		type wall;
			faces (
				(10 5 24 29)
				(5 0 19 24)
				(16 10 29 35)
				(11 16 35 30)
				(48 11 30 61)
				(45 48 61 58)
				(40 45 58 53)
				(0 40 53 19)
			);
	}

	frontAndBack {
		type empty;
		faces (
			(5 10 9 4)
			(24 23 28 29)
			(0 5 4 1)
			(19 20 23 24)
			(1 4 3 2)
			(20 21 22 23)
			(4 7 6 3)
			(23 22 25 26)
			(4 9 8 7)
			(28 23 26 27)
			(16 15 9 10)
			(35 29 28 34)
			(12 15 16 11)
			(31 30 35 34)
			(13 14 15 12)
			(32 31 34 33)
			(14 17 18 15)
			(33 34 37 36)
			(15 18 8 9)
			(34 28 27 37)
			(45 40 39 44)
			(58 57 52 53)
			(40 0 1 39)
			(53 52 20 19)
			(39 1 2 38)
			(52 51 21 20)
			(39 38 41 42)
			(52 55 54 51)
			(44 39 42 43)
			(57 56 55 52)
			(47 48 45 44)
			(60 57 58 61)
			(12 11 48 47)
			(31 60 61 30)
			(13 12 47 46)
			(32 59 60 31)
			(49 46 47 50)
			(62 63 60 59)
			(50 47 44 43)
			(63 56 57 60)
		);
	}
);

mergePatchPairs();
zhangqin200000 likes this.
__________________
Uwe Pilz
--
Sie ahnen nicht, wieviel Poesie in der Berechnung
einer Logarithmentafel enthalten ist (Carl Friedrich Gauß)
piu58 is offline   Reply With Quote

Old   March 19, 2017, 04:39
Default
  #5
Member
 
Santiago Lopez Castano
Join Date: Nov 2012
Posts: 44
Rep Power: 6
Santiago is on a distinguished road
Which DES Model you use? Spallart?

Sent from my GT-I8190L using CFD Online Forum mobile app
Santiago is offline   Reply With Quote

Old   March 19, 2017, 06:16
Default
  #6
Member
 
piu58's Avatar
 
Uwe Pilz
Join Date: Feb 2017
Location: Leipzig, Germany
Posts: 78
Rep Power: 2
piu58 is on a distinguished road
I use the dynamic one equation eddy-viscosity model (dynamicKEqn) with simple filter.
__________________
Uwe Pilz
--
Sie ahnen nicht, wieviel Poesie in der Berechnung
einer Logarithmentafel enthalten ist (Carl Friedrich Gauß)
piu58 is offline   Reply With Quote

Old   March 19, 2017, 16:53
Default
  #7
Member
 
Santiago Lopez Castano
Join Date: Nov 2012
Posts: 44
Rep Power: 6
Santiago is on a distinguished road
Which scheme are you using for the div operators?

Sent from my GT-I8190L using CFD Online Forum mobile app
Santiago is offline   Reply With Quote

Old   March 20, 2017, 02:00
Default
  #8
Member
 
piu58's Avatar
 
Uwe Pilz
Join Date: Feb 2017
Location: Leipzig, Germany
Posts: 78
Rep Power: 2
piu58 is on a distinguished road
I use the van Leer schemes on most variables because the are known for increasing numerical stability. They are also known for being more diffusive, especially at sharp edges (which we don't have here).

Code:
divSchemes
{
    default         none;
    div(phi,U)      bounded Gauss vanLeerV;
    div(phi,k)      bounded Gauss vanLeer;
    div(phi,epsilon) bounded Gauss vanLeer;
    div(phi,R)      bounded Gauss vanLeer;
    div(R)          Gauss linear;
    div(phi,nuTilda) bounded Gauss vanLeer;
    div((nuEff*dev2(T(grad(U))))) Gauss linear;
}
__________________
Uwe Pilz
--
Sie ahnen nicht, wieviel Poesie in der Berechnung
einer Logarithmentafel enthalten ist (Carl Friedrich Gauß)
piu58 is offline   Reply With Quote

Old   March 20, 2017, 03:21
Default
  #9
Member
 
Santiago Lopez Castano
Join Date: Nov 2012
Posts: 44
Rep Power: 6
Santiago is on a distinguished road
Mmmm, two things: (1) van Leer is a NVD scheme that filters high-wavenumber scales of the field being represented, by upwinding the fluxes and reconstructing the slope of such function; (2) NVD schemes are already bounded, so I would be careful when using 'bounded' in the scheme. Lastly, you are doing boussinesq-type DES/LES , so you may want to use dispersive and high order schemes on your div grad laplacian terms.

Also, from the figures you have shown, it seems that the separation of the boundary later is not well represented by your simulation; that would explain, physically, why you are coming up with a higher Cd coefficient.

Sent from my GT-I8190L using CFD Online Forum mobile app
piu58 likes this.

Last edited by Santiago; March 20, 2017 at 07:43.
Santiago is offline   Reply With Quote

Old   March 20, 2017, 13:26
Default
  #10
Member
 
piu58's Avatar
 
Uwe Pilz
Join Date: Feb 2017
Location: Leipzig, Germany
Posts: 78
Rep Power: 2
piu58 is on a distinguished road
Dear Santiago,

thank you for your advice. I read a lot about differntiation schemes and will change my simulation to less exotic ones. Because I go for good manual mesh, many of the "tricks" seem to be unnecessary and reduce the precision of the solution.
__________________
Uwe Pilz
--
Sie ahnen nicht, wieviel Poesie in der Berechnung
einer Logarithmentafel enthalten ist (Carl Friedrich Gauß)
piu58 is offline   Reply With Quote

Old   March 22, 2017, 15:32
Default
  #11
New Member
 
Join Date: May 2009
Posts: 2
Rep Power: 0
Gecko is on a distinguished road
Are you running 2D or 3D? Any LES/DES simulations should be 3D to capture the inherently 3D nature of turbulence. Running in 2D should not be expected to give you the right results.
Gecko is offline   Reply With Quote

Old   March 23, 2017, 06:16
Default
  #12
New Member
 
Qin Zhang
Join Date: May 2012
Posts: 7
Rep Power: 6
zhangqin200000 is on a distinguished road
Hi piu58

Thank you for your information.

I actually didn't expect anyone could reply my post after so long time.

I think one of the reason of the problem maybe because Openfoam only have two-order accuracy numerical scheme, while others are using 5 order WENO or else to achieve the idea mean Cd.

It's good to hear all your advice and discussion.

Regards,

Qin Zhang
zhangqin200000 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


Similar Threads
Thread Thread Starter Forum Replies Last Post
Issues on the simulation of high-speed compressible flow within turbomachinery dowlee OpenFOAM Running, Solving & CFD 8 October 25, 2016 19:48
Drag force coefficient too high for a flow past a cylinder using komega sst Scabbard OpenFOAM Running, Solving & CFD 37 March 21, 2016 17:16
benchmark: flow over a circular cylinder goodegg Main CFD Forum 12 January 22, 2013 12:47
Flow induced vibration of a mobile cylinder Hooman Main CFD Forum 0 December 31, 2010 09:48
Flow over a cylinder Anna Main CFD Forum 9 March 24, 2006 15:32


All times are GMT -4. The time now is 23:30.