Hot answers tagged

6

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 solution to other processors, receives other processors' solutions, and uses these as boundary values for the next iteration. This works reasonably well for the small ...


4

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 want to define a function $u(x)$ so that $u(\mathbf x_i)=d_i$. This is what is called interpolation, and you will find a vast literature on interpolation on ...


3

Tools like gmsh often require more information than STL provides -- the connectivity between triangles of the input surface mesh. You might be interested in trying TetWild, which can apparently reconstruct all of this connectivity information and correct for some level of degeneracy in the input data. The paper about it is very interesting too; they tested ...


3

From the discussions and the paper, OpenFOAM seems to have implemented a measure of skewness. This answer is not an explanation why the different definitions of skewness might be equivalent, I am just going to justify why this is a measure of skewness. Consider following two elements -for sake of simplicity- Blue arrow is the outward surface normal fAreas[...


3

Is it supposed to be a closed surface or not? If yes Poisson surface reconstruction from VTK library is your best bet and easiest way to construct such surface, see this example here: https://lorensen.github.io/VTKExamples/site/Cxx/Points/PoissonExtractSurface/ But, if it's not a closed surface, your problem is much more difficult to solve, and you need this ...


2

Your explanation indicates that you generally have little idea what interpolation can do. I think nobody can tell you what is the best interpolation method regardless of your data. Basically, we can only give you advises: Supposing you know that the data points are quite accurate in a collocative sense e.g. no noise, and the data is smooth, you may use a ...


2

Why don't you take a look a HEALpix which provides a nice equal area hierarchical triangulation of the surface of the sphere with no distorted triangles: https://healpix.jpl.nasa.gov/ https://en.wikipedia.org/wiki/HEALPix https://healpix.sourceforge.io/ Here's the NASA illustration of the hierarchy: The package has been instrumental in producing maps and ...


2

I found a solution by replacing the points with line segments: #poly = geom.add_polygon(pts, mesh_size = mesh_size) #loop = geom.add_curve(poly) #geom.in_surface(loop, ball_srf.surface_loop) ...


2

The easiest thing is to ensure a consistent (although arbitrary) tie-breaking scheme. If your nodes/vertices indexed, this usually means preferring the split edge with the lowest index of its lowest vertex. If the edges share the same lowest index vertex, then check the other vertex and choose the one with the lowest index. So in your situation, imaging the ...


2

I think that you are looking for the trimesh function. In your case, you would have something like pts = [31.1041, 28.3457, 29.165; 40.6266, 28.3457, -1.10804; 40.0714, 30.4443, -1.10804; 40.7155, 31.1438, -1.10804; 42.0257, 30.4443, -1.10804; 43.4692, 28.3457, -1.10804; 37.5425, 28.3457, 14.5117; 37.0303, 30.4443, 14.2938; 37....


1

Here is a way using a Delaunay triangulation. It is performed in R with the help of the deldir package. f <- function(x, y){ exp(-(x^2+y^2)) # integrate to pi } x <- seq(-5, 5, length.out = 100) y <- seq(-5, 5, length.out = 100) grd <- transform(expand.grid(x=x, y=y), z = f(x,y)) # data (x_i, y_i, z_i) library(deldir) dd <- deldir(grd[[&...


1

Disclaimer: I'm not 100% sure but I thought that I should provide my working solution to the above problem, for any future visitor that might have the same questions. The answer is for a steady temperature diffusion problem. What if the face is a boundary face and insulated? how to get $\phi_f$ in such case? Since a boundary face is in contact with only ...


1

I believe that the issue you are facing emanates from the type of triangular mesh you are using. This particular discretisation has in-built anisotropy; note the alignment of all of the longest edges is parallel to one of the diagonals of the square. You will observe a different behaviour in the results if you choose the alignment parallel to the other ...


1

Consider the following visualization as an example. It visualizes two binary trees: $T_S$ and $T_V$ for the surface mesh of the sphere and volume mesh of the sphere, respectively. At the 0th level, there is only one node in each tree: $S_1^{(0)}$ and $V_1^{(0)}$. The superscript in the brackets denotes the level in the tree and the subscript denotes the ...


1

You need to look up the VTK file format here: https://vtk.org/wp-content/uploads/2015/04/file-formats.pdf It's not very difficult, you'd just write a single cell for each node of your quad tree. The results will look like the pictures you see here or here or here -- all use VTK file format to visualize meshes.


1

In principle, you could try to quantify how much communication two cells $K_i$ and $K_j$ will have to exchange if (i) they share an edge, or (ii) share a vertex. Let's say you call this amount $W_{ij}$. Then the goal is to partition the mesh in such a way that (i) the partitions are of roughly equal size, and (ii) the sum of the $W_{ij}$ over all cut edges ...


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