6
$\begingroup$

Most computational methods for solving PDEs are grid-based. What makes a computational grid "good", other than being sufficiently fine to resolve features of numerical solutions? Are grids with more or less equal size cells better than those with strongly varying grid cell size? Are grids with more "rounded" cells better than those with "skewed" cells? Are grids with the cell size changing gradually better than those with the cell size changing abruptly? Some computational grids are aesthetically pleasing. Is a better-looking grid actually better for computations? The answers to all these questions must certainly depend a lot on the numerical methods chosen, and on the problem of interest. Is there a high-level overview, a paper or a book, discussing what makes a grid "good", for a range of solution methods and numerical problems of interest?

$\endgroup$
  • 3
    $\begingroup$ The paper What is a Good Linear Element? by Jonathan Richard Shewchuk is a really good introduction. $\endgroup$ – Daniel Shapero Sep 25 at 23:27
  • $\begingroup$ Yes, that one is very relevant, thanks a lot. $\endgroup$ – Maxim Umansky Sep 26 at 5:39
  • $\begingroup$ @DanielShapero thanks for the link! $\endgroup$ – MPIchael Sep 28 at 10:07
5
$\begingroup$

From a performance view, you are always interested in preserving as much 'structure' in your grid as possible. Computations on a simplex- or a hexaedral mesh, where every cell looks like the next will be more performant, as you do not have to transform from local to global coordinates differently for each cell. Also, you do not have to save the cell coordinates (e.g. edge points) in memory, as you can reconstruct them. You may can also calculate the positions of a vertex easily by the position within your array. The rule of thumb is to use structured grids wherever possible.

That being said, it is not always possible. If the problem you are trying to solve is qualitatively different in different regions of your domain, it may not be beneficial to over-resolve the regions where nothing is happening, and at the same time under-resolve the region you are actually interested in just for the sake of structurednes. In cases like that unstructured meshes that vary in spacing are the best choice. (One example for this would be the flow around a wing of a plane, or the boundary layer in fluid-solid interactions etc.)

Another aspect is the geometry of your simulation domain. If you are simulating a box, then it is straight forward to generate a structured grid resolving it. If you want to do linear elasticity stiffness analysis on some machined piece with complex geometry, you will simply not be able to preserve any structure.

When dealing with unstructed grids, there are some downsides associated with extreme cell geometries. In a triangle where to sides are elongated very far away from the short side, the derived approximation of the gradient will be a lot better in one spatial direction than in the other one.

| cite | improve this answer | |
$\endgroup$
2
$\begingroup$

The best choice for a numerical grid is the one that will most accurately approximate the solution to your problem (without being too computationally expensive). But beyond that the specific features will depend heavily on the type of problem you are trying to solve. A grid might be aesthetically pleasing because it cleverly exploits some symmetry of the problem. A grid may be non-uniform because of the choice of coordinate system. Often you don't really know how fine the grid should even be; this is why methods like adaptive mesh refinement and multigrid are used. It all depends on the particular problem.

My point is that there is no one-size-fits-all answer, and the process of solving PDEs computationally usually involves some trial-and-error. I am not aware of a review article or book that covers all possibilities, but there are many comprehensive texts on grid-based methods. For example, Finite Difference Methods for Ordinary and Partial Differential Equations by R. Leveque (SIAM, 2007) is one of many that talks about some of these considerations in the context of finite-difference methods. In my opinion the best way to get up to speed might be to look at research papers for problems that are similar to yours and see what the authors used; this is usually the state-of-the-art. Good luck!

| cite | improve this answer | |
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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