Hot answers tagged

12 votes
Accepted

Shrink wrapping algorithms to make a mesh watertight for 3d printing

Making a mesh watertight There are several efficient algorithms to make a mesh watertight, historically, in Stanford, the pionneers of 3D Scanning developed the Zipper algorithm: https://graphics....
  • 2,275
10 votes
Accepted

Need a simple mesh format (for FEA) and a tool to generate the mesh

I would recommend gmsh. I have just started working with this program actually only a few days ago. But it is straight-forward to use. You can create various 2D and even 3D-geometries and it offers a ...
  • 350
9 votes
Accepted

Algorithm to find boundary faces of mesh

First, create a list of faces in the mesh. From there you should be able to create a map from faces to tets, as each face must belong to either one or two tets. The faces that belong to only one tet ...
8 votes

What is a common file/data format for a mesh (for FEM)?

The short answer is no, there is not a standard format. But there are some common ones, like Gmsh for input/output and VTK for output. Before making a decision you need to find out what do you want ...
  • 8,219
8 votes

Mesh ordering algorithms used by COMSOL Multiphysics

The idea of "ordering the nodes" in a finite element mesh to improve the computational time of the sparse solver originated in the large structural analysis FE codes of the 70's. Those codes typically ...
  • 5,804
7 votes
Accepted

3D contour mesh computation

I think you could use the "marching cubes" algorithm. If memory serves, it requires a grid of samples as input, so at the very least you should be able to sample your function and run the algorithm as-...
  • 4,574
7 votes
Accepted

Is mesh orthogonality important for FEM?

Yes. The constants that appear in the interpolation estimates upon which finite element error estimates are based contain minimum and maximum angles of triangles/tetrahedra (or similar geometric ...
6 votes

How to "smoothen" (not just refine) a 2D/3D polygonal mesh

To complement the two answers from Daniel Shapero and Nicoguaro: Basically, there are two ways of smoothing a mesh, subdivision (generate new vertices) and smoothing (move the points in such a way ...
  • 2,275
6 votes

Solving PDEs in parallel

Domain decomposition was developed in the late 1990s and early 2000s because it allowed the re-use of sequential PDE solvers: You only have to write a wrapper around it that sends the computed ...
6 votes
Accepted

Unreasonably large deviation in calculations of mean curvature in different algorithms

First of all remember that curvatures, being 2nd order values, can be really sensitive to even very small variations. Moreover, we are speaking about computing differential values in a discrete ...
5 votes
Accepted

Common nodes in two FEM grids

Hashing floating-point numbers can indeed lead to weird results, especially if the node positions can be perturbed by some small amount or if there are denormalized values. You included the Python ...
5 votes

How to "smoothen" (not just refine) a 2D/3D polygonal mesh

As mentioned in the answer by @DanielShapero, you can follow an approach based on local approximations of the curvature for your nodes. In the post he suggest, there is an article by Desbrun. I would ...
  • 8,219
5 votes
Accepted

Commonly-used metrics to quantify the irregularity of a triangular mesh

As @Nicoguaro and @Paul have said in the comments to the question post, there are a great many ways to do this kind of thing, and I'm not sure if there is a single "best" approach. From a review ...
5 votes

Barycentric interpolation equivalent for irregular hexahedra

A hexahedron with straight edges is the image of the unit cube under a trilinear mapping. So, if you have values on the eight vertices of a hexahedron, and you are asking to interpolate between them ...
5 votes
Accepted

Convergence rate Jacobi/Gauss-Seidel with mesh resolution

The convergence rate that is mentioned here is in the sense that the error in iteration $k$ and $k-1$ are related by $$ \| x^{(k)} - x^\ast\| \le r \| x^{(k-1)} - x^\ast\|, $$ which implies that $$ ...
5 votes

3D contour mesh computation

In addition to the voxel-based approach that rchilton suggests, you could also look at Delaunay-type algorithms. For example, the Computational Geometry Algorithms Library (CGAL) has some built-in ...
4 votes

Need a simple mesh format (for FEA) and a tool to generate the mesh

If you have access to MATLAB, you might consider using PDE Toolbox to generate your geometry and mesh: http://www.mathworks.com/help/pde/index.html It is very easy to generate simple geometries like ...
  • 5,804
4 votes
Accepted

How to discretize Burger's equation?

If you want the simplest possible numerical scheme working for Burger's equation that has your suggested form then you should prefer the so called Lax-Friedrichs method. If you have the book of ...
4 votes
Accepted

what is the meaning of mesh smoothing steps in Gmsh?

Meshing algorithms can place the vertices of triangles and tetrahedra in a wide variety of ways, but they are us usually essentially constructive (i.e new vertices are introduced, existing vertices ...
  • 2,199
4 votes

How to "smoothen" (not just refine) a 2D/3D polygonal mesh

For just mesh smoothing, you can start by looking at Laplacian smoothing and some of the references therein. The idea is to update the position of every vertex in the interior of the mesh by replacing ...
4 votes
Accepted

Combined translational and rotational meshing in gmsh

I cannot visualize your geometry properly using Gmsh, or export it. I generated something similar using FreeCAD. Maybe you can modify this script for your purposes. ...
  • 8,219
4 votes

Commonly-used metrics to quantify the irregularity of a triangular mesh

I do not think that there exists an answer to this question in general, because it all depends on the intended use for the mesh. For instance, if you are doing computational fluid dynamics, you may ...
  • 2,275
4 votes
Accepted

Determinant of jacobian matrix

The determinant of the Jacobian, as a determinant changes its sign when odd permutations of columns (or rows) are applied. Imagine, for simplicity a two dimensional case in which the reference ...
  • 1,616
4 votes

How can I coarsen a mesh in Gmsh when 'Mesh options' include 'Refine by splitting' but nothing about coarsening?

To create a coarser mesh, you can set the characteristic length globally to a larger value, e.g., ...
4 votes

Creating 3D Mesh from stl files with gmsh

I am not entirely sure what is going wrong in your version of the command-line approach. However, I think it works on my test STL file (with gmsh 4.0.7) with the following line: ...
  • 8,521
4 votes
Accepted

Sorting Triangle vertices based on indices for alpha blending (back to front) C++, OpenGL

You can use a stable sorting algorithm. Take the array $[1,\ldots,3n]$, and sort it according to a rule like $$ \text{sorts-before}(i, j) = \text{in-front-of}\big(\text{triangle}(\lfloor\tfrac{i}{3}\...
  • 11.4k
4 votes

Effect of mesh size on solution curves for a 1D problem

What you're looking for is an a-posteriori error estimate for your mesh study. Normally, these quantitative measures are line/area/volume- and/or time- averaged nodal or element quantities (e.g. avg. ...
4 votes

What are the best ways to interpolate a vector field inside (convex) polygons?

Let me try and break the problem down into two steps. Step 1: You have a polygon (one cell of your mesh) and you have scalar data $d_i$ associated with each vertex $\mathbf x_i$ of that polygon. You ...
3 votes

How to project a 0 genus mesh model on a sphere?

Here are some elements of answers to the three questions and references to alternative methods for spherical parameterization: 1. How to compute a voxelization of a given model ? What it means: ...
  • 2,275
3 votes

Find triangle which contains point on the sphere

A generic way of looking up the element in which a point of given coordinates may be is to sort them into a quadtree (octree in 3D). The leaves of the tree will contain only element having an ...

Only top scored, non community-wiki answers of a minimum length are eligible