第5章[pdf]:

5.1 引言

5.2 曲线与曲面的几何表示

5.3 翼型和曲面

5.4 网格生成

5.5 Sumo网格生成

5.6 TetGen生成欧拉计算的体网格

**Tutorial: **Mengmeng hands-on prep video for sumo**Exercises and Projects **– software here SUMO**Review questions**

- Explain the features of structured and unstructured grids of relevance for automatic meshing and solver complexity.

- Draw a sketch of a 2D quadrilateral finite volume grid and proper labeling for a) a cell-center version and b) a cell-vertex version.

- Draw a sketch of a 2D triangular primal grid with proper labeling and its median-dual grid. Don’t make the primal grid regular ! What shape will the dual cells have if the primal grid is structured rectangular ?

- Octave provides a Delaunay triangulation function. It produces the Delaunay triangulation of the convex hull of a set of points. Discuss how this could be used for mesh generation also of non-convex areas.

- Describe two common shape definition schemes, the CST scheme and the Bézier scheme.

**Airfoil geometry calculations**

- The script
`CSTapprox.m`

computes the best CST representation of an airfoil scaled to x in [0,1], given as a set of points (*x*) on the curve (_{j},y_{j}*x*(*t*),*y*(*t*)) with the parameter*t*chosen so

x(0) = y(0) = 0, and dx/dt(0) = 0

It treats the upper surface and lower surface separately. Say we get

yu= sqrt(x) sum(a_{j}_{ }x) = sum(^{j}a),_{j }x_{ }^{j+1/2}j= 0,...

a) Compute its slope and curvature at *x* = 0 of *yu*(*x*). The lower surface is

yl= sum(b_{j }x^{j}^{+1/2}),j= 0,...

What is the condition that the combined curve has curvature continuity at *x* = 0?

The problem can be formulated as a linear least squares approximation problem:

min over {a},_{j}j= 0,1,..,nsum(yu(x) –_{k}y)_{k}^{2}yu(x) = sqrt(x)(1-x)sum(a_{j}_{ }x) (1)^{j}

b) Show that the limit as *t* -> 0 of *y*(*t*)/sqrt(*x*(*t*)) is C sqrt(2*R)* where *R* is the radius of curvature at *x* = 0. What is the constant C? This means that the data will not explode close to* t* = 0.

A few airfoil files are given as foilname.dat, for example `.../Ch5/goe298.dat`. Many more are found in `.../Ch5/Airfoilfiles`.

c) The `CSTapprox`

script reads the file, interpolates a cubic parametric spline, evaluates that at many points and then computes and plots the curvature. It goes on to compute the CST representation of your chosen degree *n*, plots it and its curvature, and reports the RMS and Max errors *erms*(*n*) and *emax*(*n*) from (1). Run with successively increased n. Why does the error suddenly drop to 0 when the degree is increased? Is the CST foil useful at that degree?

**Geometry modification with sumo**

The following labs all use the `sumo` simplest default model, the winged cigar ellipsoid body with a main wing. `sumo` is controlled best with a mouse with scroll wheel; touch pads seem not to work well for right clicks.

- Experiment with the rotation parameters for the wing: right-click the wing in the geometry tree in the left pane and choose to edit it. sumo performs the rotations in the sequence x, y, z. Try Rx = 90
^{o}and Ry 90^{o}. Find another set of rotations to give the same effect. - Sweep the wing leading edge 45
^{o}, keeping the sections parallel to xz-plane and the span constant. This requires you to figure out the new (*x,y,z*) of the tip leading edge. Click the wing in the component tree to show the sections, right-click the tip section to edit it and change the coordinates. Note the port wing is a mirror copy of the starboard wing.

The VM toolkit `ceasiompy` environment provides the `cpacscreator` for interactive editing of aircraft geometry stored in the CPACS XML format. Such a file can be sent to `sumo` for automatic Euler meshing.

**Surface and volume mesh generation with sumo**

Generated surface meshes are shown by `sumo` in the Mesh view. The volume mesh can be inspected with the `dwfscope` companion module to `sumo`.

The task is to generate the default volume mesh for the winged cigar and inspect it.

Click on the `Mesh` icon, then the create mesh button, OR pull down the `Mesh` menu and choose create mesh. When finished it puts up a window with surface mesh statistics. Click its `Volume mesh` button, which brings up the `Generate Volume Mesh` window, click run to generate the volume mesh with default parameters. The window will say **tetgen terminated normally** and show mesh statistics. Save the volume mesh in sumo standard format: Pull down the `Mesh` menu and choose `Save Volume Mesh`, give it a name of your choice. Then start `dwfscope`:

click the Open button and select the .zml file you just generated. You see the surface mesh. To see sections of the tetrahedral mesh, click the Volume Slice icon, select the type of plane (say, xz plane offset by 1) and click apply. Zoom in by scroll-wheeling, rotate around center of view by left-button mouse movement, and around a far away center, much like panning, by right-button mouse movement.

Pull down `View` menu and choose `Mesh quality display`. Clicking `Show` will show badly shaped tetrahedra in contrast color. In this experiment, there were 13 offending tets:

The Delaunay algorithm needs to break ties when two or more possible actions seem equally good, and does this by random choice, so the results of another experiment may be different. Bad tetrahedra with small volume (needles or slivers) will not hurt the inviscid finite volume solver. But bad elements in RANS boundary layers are to be avoided. The Pentagrow boundary layer mesh generator called “`Hybrid`” in the `sumo Generate Volume Mesh` window makes pentahedra close to the solid surfaces: These can be “tangled” and do harm a RANS computation.

Now is the time to explore the parameters in the `Generate Mesh` surface mesh, and in the `Generate Volume Mesh` volume mesh control windows on the isotropic meshes suitable for inviscid flow solution. Consult the sumo mini-manual (pdf in `.../Ch5Docs`) for explanations.