How to define a cylinder surrounded by a clustered cartesian mesh

I am trying to model a flow past a cylinder using the projection method. I am a bit confused on how to define the circular cylinder in my computational domain.

I know that the cylinder has the coordinates $(x-a)^2 + (y-b)^2 = r^2$ but what is the best way to define that in terms of x(i,j), y(i,j) coordinates such that I will not have any points inside the cylinder and so that I can easily apply boundary conditions to the cylinder in my computational domain.

I want to avoid doing a coordinates transformation. It seems that the NS eqtns seem to become very complicated.

• It isn't clear at all what's meant by "define the cylinder" here. Do you have a particular discretization in mind? – Nico Schlömer May 13 '13 at 21:23
• What points in the computational domain correspond to the cylinder in the physical domain. – l3win May 13 '13 at 23:44
• So what is the computational domain? Are you talking about a discretized space? Which? – Nico Schlömer May 14 '13 at 0:06
• yes discretized space. A mapping from the computational domain corresponds to the physical domain. For example, one line in a i,j computational domain corresponds to the cylinder in the physical space. Like this numerically-related.com/tutorials/tfi/images/tfi.png – l3win May 14 '13 at 2:27
• – Paul May 14 '13 at 15:23

There is no continuous mapping from a domain with a hole (the tube with the cylinder in it) to a rectangle as in

Even for much simpler domains (without holes), like unions of rectangles, one typically would not try and map the domain to a rectangle to then employ a finite-difference approach. This only moves the complication from finding a proper grid to finding a proper mapping, and those mappings will typically massively distort your PDE.

The typical approach for nonrectangular domains would be to use a discretization that is more flexible when it comes to arbitrarily shaped domains; the most popular options are certainly the finite element method and the finite volume method.

For the most default form of the 2D FEM, you would create a triangular mesh of the domain and then approximate the solution by a function that is piecewise linear on those triangles.

It's really no different than if you wanted to solve the Laplace equation on such a domain -- you simply can't use points $x_i=i \; \Delta x, y_j=j \; \Delta y$. Instead, you need to have some cells in the vicinity of the cylinder that are distorted, and you need to treat those properly: either via a transformation when using the finite element method, or by changing your finite difference stencil.

• Previously I defined the cylinder and surrounded it by an O-type curvilinear mesh grid, but then the NS equations become alot more complex since I have to take the coordinate transformations into account. I was thinking there might be a simpler way of approaching the problem in a cartesian mesh. – l3win May 13 '13 at 22:54
• Not without resulting in severe problems involving spurious solutions. I can't recall the paper, but using a cartesian (i.e., not curved) approximation will likely result in a lot of garbage in the wake. If you're using finite differences then you don't have much of a choice concerning the metric transformation quantities. If you're using FEM it's a little easier because you just have to bump up your quadratures in the evaluation of the discrete operators. I'm not an expert on finite differences, so anybody correct me if I'm wrong here. – Reid.Atcheson May 14 '13 at 2:00
• Do any of you know of a paper/book/article that describes the application of the projection method on a cylinder? – l3win May 14 '13 at 2:13
• The cylinder is no different than any other unstructured mesh that is not equal to a square or rectangle. You're trying to exploit that you have a particular geometry, but the geometry is no different than any other geometry for all practical purposes. – Wolfgang Bangerth May 14 '13 at 7:07