CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > General Forums > Main CFD Forum

how to deal with sharp corner points for compressible simulations?

Register Blogs Community New Posts Updated Threads Search

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   January 3, 2013, 22:24
Default how to deal with sharp corner points for compressible simulations?
  #1
New Member
 
Lipo Wang
Join Date: Dec 2012
Posts: 14
Rep Power: 13
nickna is on a distinguished road
Dear friends,
Happy new year!
I am doing a viscous compressible simulation with simple (square block) geometry. The boundary temperature is fixed. The headache now is for the pressure (or density) at the corner points. I have tried several different ones, like use the continuity equation to update density, to use the mean of two adjacent surface points' pressure etc. But after about 6000 steps, the code always diverges at the corner points (with very large velocity and negative density).
Many thanks for your good ideas!
nickna is offline   Reply With Quote

Old   January 4, 2013, 09:38
Default
  #2
Super Moderator
 
Praveen. C
Join Date: Mar 2009
Location: Bangalore
Posts: 342
Blog Entries: 6
Rep Power: 18
praveen is on a distinguished road
Hi
I am assuming you have a grid point at the corner , right ?

Usually people just update density, update velocity, update energy

Now you can calculate the new pressure.

Then set the velocity to zero.

Are you using a compressible, finite volume approach ? If yes, what is your numerical flux function ?

I have a scheme in which I implement boundary conditions in a weak manner even for boundary grid points. I would be interested to see how it performs on your problem. Can you describe your geometry and flow conditions ?
praveen is offline   Reply With Quote

Old   January 4, 2013, 09:53
Default
  #3
New Member
 
Lipo Wang
Join Date: Dec 2012
Posts: 14
Rep Power: 13
nickna is on a distinguished road
Quote:
Originally Posted by praveen View Post
Hi
I am assuming you have a grid point at the corner , right ?

Usually people just update density, update velocity, update energy

Now you can calculate the new pressure.

Then set the velocity to zero.

Are you using a compressible, finite volume approach ? If yes, what is your numerical flux function ?

I have a scheme in which I implement boundary conditions in a weak manner even for boundary grid points. I would be interested to see how it performs on your problem. Can you describe your geometry and flow conditions ?
Hi, Paraveen
Thanks. The question I raised is how to update the pressure (or density) at the corner points. For boundary points on flat surface, I can use, for instance the continuity equation to update density. But if goes to the corner point, we may see multiple choices (such as the average of two adjacent surface points etc). But different methods have been tried and no one can work well.
The simulation I am doing has quite simple geometry: a 2D channel with a square block inside. The flow conditions are: compressible, subsonic inlet, if the outlet is supersonic or not depends on the size of the block. Temperature on the channel surface and block surface are constant.
Many thanks if you can provide good ideas.
nickna is offline   Reply With Quote

Old   January 4, 2013, 10:15
Default
  #4
Senior Member
 
Oliver Gloth
Join Date: Mar 2009
Location: Todtnau, Germany
Posts: 121
Rep Power: 17
ogloth is on a distinguished road
Hello,

do you have a node-centred or cell-centred scheme?

Usually, if the Mach number is moderate, you should be able to get decent results by updating the equations with the proper fluxes across the boundary -- without any explicitly enforced values (e.g. zero velocity).

The problem is that the values (assuming a finite volume scheme) are in the centre of the control volume. Even if you have a node-centred solver, the values are not really on the nodes but in the centres of the corresponding control volumes (sort of a half cell on the boundary). If you enforce no-slip here, you might run into problems. You can still have a no-slip condition, but you need to assume zero velocity on the actual domain border and use a corresponding shear flux for your momentum equations.

Having said this, in the past I have used the approach that Praveen sketched in his post and it worked -- problems only appeared when wall functions needed to be implemented. If you have a structured code, however, I would strongly recommend to use cell-centred variables. For an unstructured code, node-centred might be better -- depending on your cell types.

Cheers,
Oliver
ogloth is offline   Reply With Quote

Old   January 4, 2013, 20:16
Default
  #5
New Member
 
Lipo Wang
Join Date: Dec 2012
Posts: 14
Rep Power: 13
nickna is on a distinguished road
Quote:
Originally Posted by ogloth View Post
Hello,

do you have a node-centred or cell-centred scheme?

Usually, if the Mach number is moderate, you should be able to get decent results by updating the equations with the proper fluxes across the boundary -- without any explicitly enforced values (e.g. zero velocity).

The problem is that the values (assuming a finite volume scheme) are in the centre of the control volume. Even if you have a node-centred solver, the values are not really on the nodes but in the centres of the corresponding control volumes (sort of a half cell on the boundary). If you enforce no-slip here, you might run into problems. You can still have a no-slip condition, but you need to assume zero velocity on the actual domain border and use a corresponding shear flux for your momentum equations.

Having said this, in the past I have used the approach that Praveen sketched in his post and it worked -- problems only appeared when wall functions needed to be implemented. If you have a structured code, however, I would strongly recommend to use cell-centred variables. For an unstructured code, node-centred might be better -- depending on your cell types.

Cheers,
Oliver
Hi, Ogloth
Thanks for your continuous help. For the problem I mentioned I used the node-centered MacCormack scheme. The boundary points are located on the solid surface and thus I must specify the values, especially the density (or pressure). The case is still laminar (no wall function). I found very bad zig-zag profiles. Then try to cure such problem by decreasing time step. But the problem is still there, especially at the corner points. After about 5000 step the density around the corner points (few points away from the corner) became negative.
Do you have any good suggestion?

Or if you can provide me some simple codes for reference (just the Cartesian grid case) for the viscous compressible flows, that will be really appreciated.
Best,
Lipo
nickna is offline   Reply With Quote

Old   January 5, 2013, 05:53
Default
  #6
Senior Member
 
Oliver Gloth
Join Date: Mar 2009
Location: Todtnau, Germany
Posts: 121
Rep Power: 17
ogloth is on a distinguished road
Hi Lipo,

I might have an idea what causes your problems:

If you use the MacCormack scheme in the standard finite difference formulation, you might have a somewhat degenerated stencil (see picture below).



The red nodes illustrate the stencil for your corner node. The nodes on the boundary (blue circles) will give wrong first derivatives due to the enforced no-slip condition. As a result your viscous flux will be too small and might lead to some weird expansion around the corner...

A finite volume scheme would use the green control volume and differentiate between two different boundary contributions for this node.

Maybe you could only use differences with the healthy nodes -- this means do not switch between forward and backward difference, but only use the differences into the field. Of course this can lead to stability issues, but it might still work if it is done for those corners only.

If I had to write a code for this problem it would be a cell centred finite volume scheme with some kind of upwind flux (Roe, AUSM, van Leer, ...) and Runge Kutta for time integration.

'hope this helps a little.

Cheers,
Oliver
ogloth is offline   Reply With Quote

Old   January 6, 2013, 00:23
Default
  #7
Senior Member
 
Martin Hegedus
Join Date: Feb 2011
Posts: 500
Rep Power: 19
Martin Hegedus is on a distinguished road
I don't think a central difference method can converge without artificial dissipation.

That being said, if your flow is super-critical you probably need to solve the Euler equations coupled rather than uncoupled. Also, if your input subsonic flow's Mach number is high enough, your 2D channel may choke, which requires the correct input and output boundary conditions.

Since the flow is viscous, I'm skeptical it really matters how you compute the pressure at the corner since the corner point is imbedded in a boundary layer, (and therefor subsonic). Of course this requires that you throw enough grid points at it.
Martin Hegedus is offline   Reply With Quote

Reply


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 Off
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
[snappyHexMesh] .STL: non-closed manifold surface giulio.topazio OpenFOAM Meshing & Mesh Conversion 32 November 25, 2016 03:15
[snappyHexMesh] No layers in a small gap bobburnquist OpenFOAM Meshing & Mesh Conversion 6 August 26, 2015 09:38
[DesignModeler] DM's JScript: FPoint()'s GetPoint(i) function picks points backwards? ANT ANSYS Meshing & Geometry 2 July 23, 2012 15:25
[blockMesh] BlockMeshmergePatchPairs hjasak OpenFOAM Meshing & Mesh Conversion 11 August 15, 2008 07:36
ICEM meshing of sharp corner Sans CFX 3 January 17, 2008 07:36


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