The main references of mesh generation methods in computer graphics (CG) I found are discrete Differential Geometry [1] and a famous book "Polygon Mesh Processing" [2], while the "Handbook of Grid Generation" [3] is the main reference book of scientific computation mesh generation. I found that few people who do mechanics study mesh. And few references can be found (especially on programming) for mesh generation in scientific computations.

I am interested in mesh generation myself. I start from the perspective of computer graphics. I have spent some time studying some computational geometry [4], digital geometry processing, and discrete differential geometry courses. However, I know that the distribution of the mesh for scientific computations should be related not only to the curvature of geometry but also to the gradient of the physical field. Graphics is mainly concerned with rendering, and physical simulation in CG does not require high accuracy. Therefore, for mesh generation in CG, the curvature of geometry may be considered more than the gradient distribution of the physical field. I think there are some differences. Take the fluid boundary layer as an example. In graphics, I guess many thin rectangular boundary layer meshes are not needed as in computational fluid dynamics. So I would like to ask my friends who study the mesh of scientific computing: If you want to study the mesh of scientific computing, is it feasible to start entirely from the perspective of computer graphics (computational geometry, discrete differential geometry, and digital geometry processing)?

In addition to the references above, I found another 3 courses about mesh generation and geometry processing, all given by CG professors in the computer science department [5-7].


  1. Keenan Crane. CS 15-458/858: Discrete Differential Geometry, Carnegie Mellon University, 2020.

  2. Botsch, Mario, Leif Kobbelt, Mark Pauly, Pierre Alliez, and Bruno Lévy. Polygon mesh processing. CRC Press, 2010.

  3. Thompson, Joe F., Bharat K. Soni, and Nigel P. Weatherill, eds. Handbook of grid generation. CRC Press, 1998.

  4. o'Rourke, Joseph. Computational geometry in C. Cambridge university press, 1998.

  5. Jonathan Shewchuk. CS 294-74 Mesh Generation and Geometry Processing in Graphics, Engineering, and Modeling, University of California at Berkeley, 2012.

  6. Alper Üngör. CPS296.2: Advanced Topics in Computer Science Mesh Generation, Duke University, 2002.

  7. Xiao-Ming Fu. Digital Geometry Processing, University of Science and Technology of China, 2019.

  • 1
    $\begingroup$ This is certainly a very intriguing view! It is not quite clear what you meant by "study the mesh of scientific computing". Based on my experience, mesh generation for computational physics and computational engineering is mainly driven by the accuracy of the results for the problem at hand. The requirement on quality of the mesh varies significantly from one application to the other, although the governing equations (and the software tools) might be the same. $\endgroup$
    – Chenna K
    Jul 29, 2020 at 13:44
  • $\begingroup$ @ChennaK Thank you for your comments~ By "study the mesh of scientific computing", I mean to understand, implement(programming) and innovate the mesh generation algorithm for scientific computing in order to make scientific computing more accurate and fast. $\endgroup$
    – Dong Ivan
    Jul 29, 2020 at 15:50
  • $\begingroup$ Now you have added more questions and I think you deviates from the OP. When having multiple questions it might be better to split them into several posts. $\endgroup$
    – nicoguaro
    Aug 1, 2020 at 1:08
  • $\begingroup$ @nicoguaro Thanks for the suggestions. I will delete the added parts and raise some new posts. $\endgroup$
    – Dong Ivan
    Aug 1, 2020 at 1:28

4 Answers 4


This is an interesting question, but also very problem dependent.

For many scientific problems, you like to have properties like good angles (often preferring Delaunay meshes), and feature aligned triangulations, e.g., meshing edges in the domain as edges in the triangulation. In addition there are different requirements on the element size. Some problems may need a mostly uniform element size, others need a highly adaptive one, that depends on the domain features.

Here is an example of a mesh that is untypical for computer graphics (you do not need many triangles to represent the shape), but typical for scientific computing purposes:

an adapative mesh (https://www.comsol.com/blogs/how-identify-resolve-singularities-model-meshing/)

For some algorithms there are also requirements like well-centered elements (see the discrete exteriror calculus), i.e., triangles that contain their circumcenter. There are special algorithsm to optimize meshes to have such properties, like Hodge-optimized triangulations (Mullen et al. Siggraph 2011), which optimize for properties that are not important for rendering, but required for certain numerical algorithms.


As a computer graphics person studying meshing, we care about two things. Element quality, and boundary fidelity. The boundary fidelity is as you mentioned for rendering purposes, but it is also needed for accurate collision detection in simulation. Element quality is required because you can bound error on numerical solutions to elliptic PDE based on how 'good' your mesh elements are. I would say we care just as much as anyone else about the accuracy of the PDE solutions that come out of our meshes.

As far as I know, there are few graphics papers that try to do adaptive refinement of the mesh. That's the main difference. Other than that, the meshes used for scientific computing are essentially the same as CG meshes. They care about boundary and element quality.

  • $\begingroup$ Thanks for the answer. To me, not only mesh generation but also physical simulation, I learn a lot from the work of CG researchers. $\endgroup$
    – Dong Ivan
    Aug 3, 2020 at 14:09

If you want to create a mesh for scientific computing, is it feasible to start entirely from the perspective of computer graphics?

-- slightly adapted from the OP

Well, it depends. I mainly work in the field of computational fluid dynamics (CFD). My feeling from my experience in CFD and my limited experience in solid mechanics using the finite element method (FEM), is that CFD is sometimes very sensitive to mesh quality, far more than FEM.

I have encountered multiphase problems which crashed using tet-meshes, somehow ran using prismatic meshes (extruded triangles) and ran quite well using hex-meshes.

So I guess scientific computing has wider requirements on the mesh than computer graphics does. Computer graphics people: please correctly if I am wrong or overly simplistic.

Computer graphics cares most about the accurate representation of boundaries; whereas in scientitic computing, a lot can go wrong with the internal properties of the mesh.

  • $\begingroup$ Most of the CFD codes are based on the FVM, and a majority of FVM schemes are good (accuracy and stability) only for quad/hex elements, that too axis-aligned cells. So, it is no surprising that CFD (based on FVM) is more sensitive to meshes. CFD based on FEM is more accurate, robust and efficient. $\endgroup$
    – Chenna K
    Aug 1, 2020 at 0:28

Thank you very much for the comments, edits, and answers. I have learned a lot. I try to summarize my answer as the questioner.

In my point of view, the mesh generation algorithms for CG and scientific computation are quick similar. We can learn the mesh generation algorithms from the CG point view.

But there is a difference between CG and scientific computation. That is the purpose of using the mesh. Different purposes need different meshes. There is no optimal mesh for all problems.

For scientific computation, the optimal mesh is actually closely related to the specific initial conditions, boundary conditions and the discretization scheme of the governing equation. How to introduce these factors into the measurement of the optimal mesh is a very important topic. And if you look from a scientific computing point of view, the numerical scheme can't perform well without a good mesh. I think good meshes are not only the high discretization quality of 3D geometric space, but also the high discretization quality of high-dimensional computing space induced by numerical scheme.


Your Answer

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

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