I am using Tchebyshev discretization to solve a system of PDEs.

Usually, I map the Tchebyshev space($\xi$, from -1 to 1) to physical space ($x$, from 0 to L) using $$x = (\xi +1)*L/2$$

Now, I also want my grids to be clustered around some point($x_c$) in the domain. Is there any standard mapping that can achieve this?

Any suggestion/ reference to standard texts are greatly appreciated.

  • $\begingroup$ Why are you interested spectral grid points close to some point? Judging from your transformation, are you by chance using a polar coordinate system? $\endgroup$
    – Bort
    Jul 20, 2017 at 9:18
  • $\begingroup$ Do you want to map from (-1, 1) to $(x_c - L/2, x_c + L/2)$ then? $\endgroup$
    – nicoguaro
    Jul 20, 2017 at 14:30
  • $\begingroup$ @Bort : My point(rather a region) of interest has a high rate of change of gradient, hence I would like to redistribute more grid points in that region. My problem is in 3-D and I use cylindrical coordinates. $\endgroup$ Jul 21, 2017 at 4:51
  • $\begingroup$ @nicoguaro No, $x_c$ (c-cluster's center) is not the center of my domain. I want $x_c$ to be some arbitrary point inside the domain. I still want my domain to be mapped from [-1, 1] to [0, L] $\endgroup$ Jul 23, 2017 at 14:39

2 Answers 2


In the section about adaptive Methods Chapter 16. in "Chebyshev and Fourier Spectral Methods" from John P. Boyd several different coordinate transformations together with their application in different publications are presented. I have not used any of those transformation myself but they can serve as a starting point for your problem.

y is the physical (unmapped) coordinate and x is the computational coordinate.


I have found a simple algebraic mapping (Eq 18.12 from here) and modified it to suit my need.

The mapping is as follows:

$$x = ((1-w)\xi^3 - x_p\xi^2 + w\xi + x_p + 1 )*(L/2) $$

where $x_p = \frac{2x_c}{L}-1$; $x_c$ is approximately the point around which you want to cluster the grids;

$w\ (0 < w \ll 1)$ controls the width of the cluster.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.