Singularity
Hi,
Why are sharp corners considered as points of singularity in CFD. Is it because conflicting boundary conditions exist? And what are the different ways to resolve the issue ? Thanks ! 
Re: Singularity
(1). There are at least two types of sharp corners: one is the 90 degree corner, such as the flow over a backwardfacing step, and the other is the sharp trailing edge or lip of a nozzle. (2). In both cases, the flow always separate from the sharp corner. In other words, there is always a separating streamlines attached to the corner and divide the flow into two regions. (3). Local mesh refinement around the corner is a simple way to handle the difficulty. (4). Or you can replace the sharp corner by a rounded corner. (5). Or you can assume that there is a segment of separating streamline attached to the corner, and is parallel to the main flow direction. In this way, the sharp corner property is controlled by the main flow boundary layer. (that is the upstream side of the flow, instead of the recirculating part of the flow. both flows meet at the point of separation)

Re: Singularity
Yes, it is difficult to implement neumann boundary conditions at corners due to the difficulty associated with defining a unique surface normal.
In inviscid flows, an infinite pressure gradient can be produced at the corners. There isn't a mathematically sound way of dealing with corners in such cases. IN viscous flow solvers, a neumann BC is used for the pressure at the walls. The conflicting BC are handled by defining a multivalued pressure variable at the corners. Eg : if a 90 degrees corner exist in the xy plane, there are many possible surface normals. dp/dx is used to get pressure at the walls and this pressure is used in the xmomentum equation. dp/dy is used to get another value of pressure at the same point and is used only in the ymomentum equation. If you use staggered grids, you do need pressure at the walls and hence there are no conflicting BC at the corners. In any case, staggered or nonstaggered, corners require good resolution. This is because the pressure is relatively independent of the viscous forces (at high Re) but at these corners pressure and viscous forces are strongly coupled. This coupling should reach grid independence at the corners for an accurate solution. 
Re: Singularity
>> IN viscous flow solvers, a neumann BC is used for the pressure at the walls. The conflicting BC are handled by defining a multivalued pressure variable at the corners. Eg : if a 90 degrees corner exist in the xy plane, there are many possible surface normals.
The pressure is singlevalued even if there is a sharp corner. However, the (normal) pressure gradient is multivalued at the corners. If the pressure were multivalued then you'd have a pressure jump (and thus flow leakage?) at the corners! Adrin Gharakhani 
Re: Singularity
From my experience, if the same value of pressure at the corner (however it is obtained) is used to compute both (dp/dx) and (dp/dy), then the solution diverges.
Since both (dp/dx) and (dp/dy) qualify as normal gradients, pressure is computed using both. The values of pressure thus obtained are used in xmomentum and ymomentum equations respectively. This is OK for incompressible flows since actual value of pressure is of no consequence. Also, a multivalued pressure is defined merely to compute normal pressure gradients along different directions. The actual value of the pressure is perhaps unique at the corner. In the limit of a infinite grid resolution, pressures computed at the corner from both direction ( x and y) become equal. In compressible flows, actual value of pressure appears in the equation of state and so the corner problem is more acute. It may be better to use staggered grids for such cases. 
Re: Singularity
>> From my experience, if the same value of pressure at the corner (however it is obtained) is used to compute both (dp/dx) and (dp/dy), then the solution diverges.
It is true that the solution may diverge in the above scenario, but the cause is not the singlevaluedness of pressure at the corner. Nor is the solution the assignment of multivalued pressure there. By assigning a multivalued pressure at the corner one is "attempting" to shove the problem under the rug. I say attempt because by doing so, an unphysical property of the flow is introduced to the problem and when people detect loss of flow (leakage)  as often times people have pointed out on this list  they wonder why and how this could happen. The problem with divergence comes from the usage of an incompatible (and/or loworder) discretization scheme at the corners. For example, the gradients at the corners may (most probably) be higher order than linear, yet only a constant gradient may be used for discretization! What do you expect from a loworder discretization?! Something has to give! The same problem (the Neumann problem) has been attempted in the Boundary Element (BEM) context for years trying to link gradients to each other and get compatible solutions. I'd say, based on what I have seen, more progress has been made in this direction in the BEM community. I would suggest interested readers to check out the literature. Even though the approach is totally different, because the solution methodology is more fundamental it sheds light into possible ways to attack this problem in the finite volume/difference context. >> This is OK for incompressible flows since actual value of pressure is of no consequence. Also, a multivalued pressure is defined merely to compute normal pressure gradients along different directions. The actual value of the pressure is perhaps unique at the corner. In the limit of a infinite grid resolution, pressures computed at the corner from both direction ( x and y) become equal. I'm afraid I have to disagree with my colleague. It is true the actual value of the pressure is not important, so long as it is computed accurately. That is, the _distribution_ of pressure matters _very much_ because that's how you get your gradients. When you assume multivaluedness at the corner, you assume a pressure jump there which means you asume a pressure gradient (which means you assume +/ leakage). So the jump has everything to do with what matters numerically  the evaluation of the pressure gradients! You are getting a "convergent" solution to the wrong problem. Convergence does not mean validity of the solution. Adrin Gharakhani 
Re: Singularity
The corner singularity, as well as axis singularity in 3D may be avoided by adopting a cellcentered finite volume method

Re: Singularity
(1). Smart idea indeed. (2). If we use one cell centered finite volume to cover each problem domain, then each will become nice and perfect square. (3). When there is no longer internal resolution, everything becomes ONE. (4). I think, the pressure is always uniquely defined, whether in the interior or at the boundary. (5). In most cases, the real problem is modified to simulate a desired result. But it can have negative empact of the solution. (6). For the backwardfacing step problem, there are typically two approaches to create the mesh. One is to use cartesian Htype mesh, in which one can model the corner flow field as if the flow separate from the corner point and moves in the direction parallel to the main stream direction. This will force the corner to be dominated by the upstream flow only. (7). The other approach is to use the body aligned curvilinear mesh, in which the wall represents a continuous streamline. This allows the flow to go around the corner. And the fan shaped mesh around the corner will allow the flow to turn. The mesh density will be high automatically around the corner, thus avoid the accuracy problem. Inside the boundary layer, near the corner, the Re is low, thus the problem is not serious. (8). For supersonic, inviscid flow around the corner, there will be corner centered expansion waves generated. But then the method of characteristics can provide the exact solutions, even though the corner is still a point. There, like any solution to the Euler equation, discontinuous solution is allowed.

Re: Singularity
I'm really glad to see how impressive is your way to circumvent the singularity in traction!
I've come up with an impression that many people post here for the sake of posting itself, often providing completely misleading concepts, solutions and advices. Please try not to do so. There are not many persons in this forum who actually gives good answers, listen to them. As for singularity, ignoring what you encounter is not always the best solution. The singularity cannot simply be disregarded. Instead, it needs a carefull attention to get what's called "mesh independent solution". Cheers to all. 
Re: Singularity
I agree with the point that the gradients at the corners may just be too high to resolve using a FD or FV scheme which typically use a 2nd or 4th order schemes for the Poisson equation. That is why I pointed out that the discretization scheme becomes more consistent with BC when the grid is refined enough to resolve these gradients and then the the two different values of pressure become equal and there is a unique pressure.
Most LES of the backward facing step and cavity problems are performed using solvers with 2nd order Poisson solvers and I have not come across the "leakage" issue anywhere in the LES literature. In fact, I ensure global mass conservation in my own code and did not notice any leakage. However, my primary CFD research is not code/scheme development. But I sure would appreciate any information as to where the leakage issues are addressed. 
Re: Singularity
> The corner singularity, as well as axis singularity in 3D may be avoided by adopting a cellcentered finite volume method
With a cellcentered method one "avoids" the singularity issue at the corners by (practically) assuming an averaged value of the variable within the control volume. That is essentially equivalent to numerically rounding the corners. So, you "avoid" singularity by solving another problem  a roundedcornered one. Also, most cellcentered solution methodologies I know are of the lowest order of accuracy (which is not the issue here of course) Adrin Gharakhani 
All times are GMT 4. The time now is 19:33. 