Skip to content

Commit a549079

Browse files
Convert to Principal Curvature (#132)
* Convert to Principal Curvature Replace the gaussian curvature test for topography resolution with the max of the abs of the two principal curvatures. This removes an issue of zero curvature in one of the directions. New mesh benchmarks were needed because the meshes are different with the different curvature tests. * add license * Doc Editing and file removal Edit the doc's for typos discovered along the way, plus some additional notes. Remove files associated with gaussian curvature since they are no longer needed * typo fix * point to MIT textbook in the docs for principle curvatures * Update assumptions-and-algorithms.md Fix a typo. * Update appendix.md Add description of elliptic arc block. * Create WorkflowTools.md Add a page that describes two add-ons that can be used to generate control files. Other tools can be added as desired. * add new docs file to the build * move the Workflow Tools docs section after the User Guide --------- Co-authored-by: Andrew Winters <[email protected]>
1 parent c4d971e commit a549079

22 files changed

+2681
-3381
lines changed
Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
2
2-
728 1005
3-
8.24881E-01
4-
1.99965E+00
5-
1.65152E-01
6-
7.74288E-01
7-
2.33881E-01
8-
2.01487E-01
2+
564 800
3+
8.66819E-01
4+
1.60272E+00
5+
2.17557E-01
6+
8.53463E-01
7+
1.76174E-01
8+
2.60118E-01
Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
2
2-
528 755
3-
8.38454E-01
4-
1.51042E+00
5-
2.16931E-01
6-
8.74839E-01
7-
1.96438E-01
8-
2.65867E-01
2+
412 610
3+
8.94582E-01
4+
1.42363E+00
5+
2.88336E-01
6+
9.04681E-01
7+
1.45161E-01
8+
3.41464E-01

Benchmarks/PlotFiles/Benchmarks/SeaMount.tec

Lines changed: 1195 additions & 1564 deletions
Large diffs are not rendered by default.

Benchmarks/PlotFiles/Benchmarks/SeaMountCubic.tec

Lines changed: 853 additions & 1114 deletions
Large diffs are not rendered by default.

Benchmarks/StatsFiles/Benchmarks/SeaMount.txt

Lines changed: 141 additions & 182 deletions
Large diffs are not rendered by default.

Benchmarks/StatsFiles/Benchmarks/SeaMountCubic.txt

Lines changed: 103 additions & 132 deletions
Large diffs are not rendered by default.

Documentation/docs/ApproximationOfGaussianCurvature.md

Lines changed: 0 additions & 74 deletions
This file was deleted.
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# Workflow Tools
2+
3+
Two tools are available to help generate control files from which to generate a mesh with HOHQMesh.
4+
5+
## HOHQMesh.jl
6+
7+
<img src="https://user-images.githubusercontent.com/25242486/174798986-6b900fa8-840c-4c04-bc61-00f0749af1be.png" width="400">
8+
9+
[HOHQMesh.jl](https://trixi-framework.github.io/HOHQMesh.jl/stable/) is a simple graphical front end to HOHQMesh that allows one to draw and edit the geometry, mesh and visualize in one package. It also includes binaries for the mesher so that it is not necessary to compile HOHQMesh oneself. Tutorials on how to use HOHQMesh.jl can be found [here](https://trixi-framework.github.io/HOHQMesh.jl/stable/).
10+
11+
## svg-to-HOHQMesh
12+
13+
<img src="https://github.com/trixi-framework/HOHQMesh_examples/blob/a8610caf1c5047741ee341462cb3e2f9d34471c6/gallery/jack-o-lantern-small.png?raw=true" width="350">
14+
15+
[svg-to-HOHQMesh](https://github.com/FluidNumerics/svg-to-HOHQMesh) is a tool created by [FluidNumerics](https://www.fluidnumerics.com) that enables one to draw the geometry in a program like [inkScape](https://inkscape.org) and then write a control file to be meshed. A demo is included on the [gitHub](https://github.com/FluidNumerics/svg-to-HOHQMesh) site, and on [YouTube](https://www.youtube.com/watch?v=xvZwEHcwYOc). The pumpkin mesh in the HOHQMesh [gallery](https://trixi-framework.github.io/HOHQMesh/Gallery/) was generated with svg-to-HOHQMesh.

Documentation/docs/appendix.md

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -49,21 +49,33 @@ The data file will have the number of nodes as the first line, followed by the d
4949
Defining a Straight Line:
5050

5151
\begin{END_POINTS_LINE}
52-
name = <name>
53-
xStart = [x,y,0]
52+
name = <name>
53+
xStart = [x,y,0]
5454
xEnd = [x,y,0]
5555
\end{END_POINTS_LINE}
5656

5757
Defining a Circular Arc:
5858

5959
\begin{CIRCULAR_ARC}
60-
name = <name>
61-
units =degrees/radians(Optional.Default:radians)
62-
center = [x,y,0]
63-
radius = r
64-
start angle = Tstart
65-
end angle = Tend
60+
name = <name>
61+
units = degrees/radians(Optional.Default:radians)
62+
center = [x,y,0.0]
63+
radius = r
64+
start angle = Tstart
65+
end angle = Tend
6666
\end{CIRCULAR_ARC}
67+
Defining an Elliptic Arc:
68+
69+
\begin{ELLIPTIC_ARC}
70+
name = <name>
71+
center = [x, y, 0.0]
72+
xRadius = rX
73+
yRadius = rY
74+
start angle = Tstart
75+
end angle = Tend
76+
units = degrees/radians (Optional. Default:radians)
77+
rotation = <angle> (Optional. Default 0.0)
78+
\end{ELLIPTIC_ARC}
6779

6880
Chaining curves:
6981

Documentation/docs/assumptions-and-algorithms.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,5 @@ This is a collection of comments on some of the approximations and assumptions m
1414

1515
6. The sizer controls spread the region out using a Gaussian profile. The square root (for distance) and exponentials used are very expensive. Meshing times for meshes with sizer controls are significantly longer than those without. Since the actual shape of the regions is not important, consider using a quadratic polynomial approximation to a Gaussian instead to perhaps speed things up. In practice, of all the horrendous algorithms, the size controls seem to be the only ones that are costly.
1616

17-
7. Sizing due to topography is chosen according to its Gaussian curvature. The Gaussian curvature is approximated by second order finite differences, and is described in the document [approximation of Gaussian curvature](ApproximationOfGaussianCurvature.md).
17+
7. Sizing due to topography is chosen according to its principal curvatures. Background details on principle curvature are available in [Section 3.4](https://web.mit.edu/hyperbook/Patrikalakis-Maekawa-Cho/node30.html) of the online textbook "Shape Interrogation for Computer Aided Design and Manufacturing" by N. M. Patrikalakis, T. Maekawa, and W. Cho. The formulas to compute the principle curvatures for explicit surfaces
18+
are found in [Section 3.5.1](https://web.mit.edu/hyperbook/Patrikalakis-Maekawa-Cho/node32.html) of the same textbook. In HOHQMesh these formulas are approximated by second order finite differences.

0 commit comments

Comments
 (0)