[ANSYS, Inc. Logo] return to home search
next up previous contents index

3.3.1 Dynamic Mesh Update Methods

Three groups of mesh motion methods are available in ANSYS FLUENT to update the volume mesh in the deforming regions subject to the motion defined at the boundaries:

Note that you can use ANSYS FLUENT's dynamic mesh models in conjunction with hanging node adaption, with the exception of dynamic layering and face remeshing. For more information on hanging node adaption, see Section  19.1.1.

Spring-Based Smoothing Method

In the spring-based smoothing method, the edges between any two mesh nodes are idealized as a network of interconnected springs. The initial spacings of the edges before any boundary motion constitute the equilibrium state of the mesh. A displacement at a given boundary node will generate a force proportional to the displacement along all the springs connected to the node. Using Hook's Law, the force on a mesh node can be written as

 \vec{F}_i = \sum_j^{n_i} k_{ij}\left(\Delta\vec{x}_j - \Delta\vec{x}_i\right) (3.3-1)

where $\Delta\vec{x}_i$ and $\Delta\vec{x}_j$ are the displacements of node $i$ and its neighbor $j$, $n_i$ is the number of neighboring nodes connected to node $i$, and $k_{ij}$ is the spring constant (or stiffness) between node $i$ and its neighbor $j$. The spring constant for the edge connecting nodes $i$ and $j$ is defined as

 k_{ij} = {1\over \sqrt{\mid \vec{x}_i - \vec{x}_j\mid}} (3.3-2)

At equilibrium, the net force on a node due to all the springs connected to the node must be zero. This condition results in an iterative equation such that

 \Delta \vec{x}_i^{m+1} = {\sum_j^{n_i} k_{ij}\Delta \vec{x}^{m}_j \over \sum_j^{n_i} k_{ij}} (3.3-3)

Since displacements are known at the boundaries (after boundary node positions have been updated), Equation  3.3-3 is solved using a Jacobi sweep on all interior nodes. At convergence, the positions are updated such that

 \vec{x}_i^{n+1} = \vec{x}_i^{n} + \Delta \vec{x}_i^{m,{\rm converged}} (3.3-4)

where $n+1$ and $n$ are used to denote the positions at the next time step and the current time step, respectively. The spring-based smoothing is shown in Figures  3.3.1 and 3.3.2 for a cylindrical cell zone where one end of the cylinder is moving.

Figure 3.3.1: Spring-Based Smoothing on Interior Nodes: Start

Figure 3.3.2: Spring-Based Smoothing on Interior Nodes: End

Laplacian Smoothing Method

Laplacian smoothing is the most commonly used and the simplest mesh smoothing method. This method adjusts the location of each mesh vertex to the geometric center of its neighboring vertices. This method is computationally inexpensive but it does not guarantee an improvement on mesh quality, since repositioning a vertex by Laplacian smoothing can result in poor quality elements. To overcome this problem, ANSYS FLUENT only relocates the vertex to the geometric center of its neighboring vertices if and only if there is an improvement in the mesh quality (i.e., the skewness has been improved).

This improved Laplacian smoothing can be enabled on deforming boundaries only (i.e., the zone with triangular elements in 3D and zones with linear elements in 2D). The computation of the node positions works as follows:

 \overline{\overrightarrow{x}^m_i} = \frac{\sum_j^{n_{\rm i}} \overrightarrow{x}^m_j}{n_i} (3.3-5)

where $\overline{\overrightarrow{x}^m_i}$ is the averaged node position of node $i$ at iteration $m$, $\overrightarrow{x}^m_j$ is the node position of neighbor node of $\overrightarrow{x}^m_i$ at iteration $m$, and $n_i$ is the number nodes neighboring node $i$. The new node position $\overrightarrow{x}^{m+1}_i$ is then computed as follows:

 \overrightarrow{x}^{m+1}_i = \overrightarrow{x}^m_i (1 - \beta) + \overline{\overrightarrow{x}^m_i} \beta (3.3-6)

where $\beta$ is the boundary node relaxation factor.

This update only happens if the maximum skewness of all faces adjacent to $\overrightarrow{x}^{m+1}_i$ is improved in comparison to $\overrightarrow{x}^m_i$.

Boundary Layer Smoothing Method

The boundary layer smoothing method is used to deform the boundary layer during a moving-deforming mesh simulation. For cases that have a Mesh Motion UDF (see this section in the separate User's Guide) applied to a face zone with adjacent boundary layers, the boundary layer will deform according to the UDF that is applied to the face zone. This smoothing method preserves the height of each boundary layer and can be applied to boundary layer zones of all mesh types (wedges and hexahedra in 3D, quadrilaterals in 2D).

Consider the example below, where a UDF of the form DEFINE_GRID_MOTION provides the moving-deforming mesh model with the locations of the nodes located on the compliant strip on an idealized airfoil. The node motion varies sinusoidally (Figures  3.3.5 and 3.3.6), both in time and space as seen by the deformation of the face zone and the respective boundary layer. A deforming flag is set on the adjacent cell zone, such that the cells adjacent to the deforming wall will also be deformed, in order to avoid skewness. Compare the original mesh (Figure  3.3.3) prior to applying the Mesh Motion UDF to that mesh whose boundary layer has been deformed (Figure  3.3.5).

Figure 3.3.3: The Mesh Prior to Applying Boundary Layer Smoothing

Figure 3.3.4: Zooming into the Mesh of the Compliant Strip Prior to Applying Boundary Layer Smoothing

Figure 3.3.5: The Mesh After Applying Boundary Layer Smoothing

Figure 3.3.6: Zooming into the Deformed Boundary Layer of the Compliant Strip

To find out how to set up a deforming boundary layer for smoothing, see this section (in the separate User's Guide).

Dynamic Layering Method

In prismatic (hexahedral and/or wedge) mesh zones, you can use dynamic layering to add or remove layers of cells adjacent to a moving boundary, based on the height of the layer adjacent to the moving surface. The dynamic mesh model in ANSYS FLUENT allows you to specify an ideal layer height on each moving boundary. The layer of cells adjacent to the moving boundary (layer $j$ in Figure  3.3.7) is split or merged with the layer of cells next to it (layer $i$ in Figure  3.3.7) based on the height ( $h$) of the cells in layer $j$.

Figure 3.3.7: Dynamic Layering

If the cells in layer $j$ are expanding, the cell heights are allowed to increase until

 h_{\rm min} > (1 + \alpha_s) h_{\rm ideal} (3.3-7)

where $h_{\rm min}$ is the minimum cell height of cell layer $j$, $h_{\rm ideal}$ is the ideal cell height, and $\alpha_s$ is the layer split factor. Note that ANSYS FLUENT allows you to define $h_{\rm ideal}$ as either a constant value or a value that varies as a function of time or crank angle. When the condition in Equation  3.3-7 is met, the cells are split based on the specified layering option. This option can be height based or ratio based.

With the height-based option, the cells are split to create a layer of cells with constant height $h_{\rm ideal}$ and a layer of cells of height $h - h_{\rm ideal}$. With the ratio-based option, the cells are split such that locally, the ratio of the new cell heights is exactly $\alpha_s$ everywhere. Figures  3.3.8 and 3.3.9 show the result of splitting a layer of cells above a valve geometry using the height-based and ratio-based option.

Figure 3.3.8: Results of Splitting Layer with the Height-Based Option

Figure 3.3.9: Results of Splitting Layer with the Ratio-Based Option

If the cells in layer $j$ are being compressed, they can be compressed until

 h_{\rm min} < \alpha_c h_{\rm ideal} (3.3-8)

where $\alpha_c$ is the layer collapse factor. When this condition is met, the compressed layer of cells is merged into the layer of cells above the compressed layer; i.e., the cells in layer $j$ are merged with those in layer $i$.

Remeshing Methods

On zones with a triangular or tetrahedral mesh, the spring-based smoothing method (described in Section  3.3.1) is normally used. When the boundary displacement is large compared to the local cell sizes, the cell quality can deteriorate or the cells can become degenerate. This will invalidate the mesh (e.g., result in negative cell volumes) and consequently, will lead to convergence problems when the solution is updated to the next time step.

To circumvent this problem, ANSYS FLUENT agglomerates cells that violate the skewness or size criteria and locally remeshes the agglomerated cells or faces. If the new cells or faces satisfy the skewness criterion, the mesh is locally updated with the new cells (with the solution interpolated from the old cells). Otherwise, the new cells are discarded.

ANSYS FLUENT includes several remeshing methods that include local remeshing, local face remeshing (for 3D flows only), face region remeshing, and 2.5D surface remeshing (for 3D flows only). The available remeshing methods in ANSYS FLUENT work for triangular-tetrahedral zones and mixed zones where the non-triangular/tetrahedral elements are skipped. The exception is the 2.5D model, where the available remeshing method only work on wedges extruded from triangular surfaces or hex meshes.

Local Remeshing Method

Using the local remeshing method, ANSYS FLUENT marks cells based on cell skewness and minimum and maximum length scales as well as an optional sizing function.

ANSYS FLUENT evaluates each cell and marks it for remeshing if it meets one or more of the following criteria:

Face Region Remeshing Method

In addition to remeshing the volume mesh, ANSYS FLUENT also allows triangular and linear faces on a deforming boundary to be remeshed. ANSYS FLUENT marks deforming boundary faces for remeshing based on moving and deforming loops of faces.

For face region remeshing, ANSYS FLUENT marks the region of faces on the deforming boundaries at the moving boundary based on minimum and maximum length scales. Once marked, ANSYS FLUENT remeshes the faces and the adjacent cells to produce a very regular mesh on the deforming boundary at the moving boundary (e.g., Figure  3.3.10). Using this method, ANSYS FLUENT is able to remesh across multiple face zones.

For 3D simulations, ANSYS FLUENT allows remeshing with symmetric boundary conditions, and across multiple face zones which includes preserving features not only between the different face zones, but also within a face zone. For more information, see Section  3.3.1.

ANSYS FLUENT automatically extracts loops on the boundary of the face zone whose nodes are moving or deforming. Consider a simple tetrahedral mesh of a cylinder whose bottom wall is moving (see Figure  3.3.10). On the deforming boundary, a single loop is generated at the bottom end of the cylinder (where the nodes are moving). ANSYS FLUENT analyzes the height of the faces connected to the nodes on the loop and subsequently, splits or merges the faces depending on the specified maximum or minimum length scale.

Figure 3.3.10: Remeshing at a Deforming Boundary

If the faces in layer $j$ are expanding, they are allowed to expand until the maximum length scale is reached. Conversely, if the layer is contracting, they are allowed to contract until the minimum length scale is reached. When this condition is met, the compressed layer of faces is merged into the layer of faces above it. The face remeshing is illustrated in Figure  3.3.12.

Figure 3.3.11: Expanding Cylinder Before Region Face Remeshing

Figure 3.3.12: Expanding Cylinder After Region Face Remeshing

Local Face Remeshing Method

The local face remeshing method only applies to 3D geometries. Using this method, ANSYS FLUENT marks the faces (and the adjacent cells) on the deforming boundaries based on the face skewness. Using this method, ANSYS FLUENT is able to remesh locally at deforming boundaries, however, you are not able to remesh across multiple face zones.

2.5D Surface Remeshing Method

The 2.5D surface remeshing method only applies to extruded 3D geometries and is similar to local remeshing in two dimensions on a triangular surface mesh (not a mixed zone). Faces on a deforming boundary are marked for remeshing based on face skewness, minimum and maximum length scale and an optional sizing function.

Figure 3.3.13: Close-Up of 2.5D Extruded Flow Meter Pump Geometry Before Remeshing and Laplacian Smoothing

Figure 3.3.14: Close-Up of 2.5D Extruded Flow Meter Pump Geometry After Remeshing and Laplacian Smoothing

Local Remeshing Based on Size Functions

Instead of marking cells based on minimum and maximum length scales, ANSYS FLUENT can also mark cells based on the size distribution generated by sizing functions.

Local remeshing using size functions can be used with the following remeshing methods:

Figure  3.3.16 demonstrates the advantages of using size functions for local remeshing:

Figure 3.3.15: Mesh at the End of a Dynamic Mesh Simulation Without Size Functions

Figure 3.3.16: Mesh at the End of a Dynamic Mesh Simulation With Size Functions

In determining the sizing function, ANSYS FLUENT draws a bounding box around the zone that is approximately twice the size of the zone, and locates the shortest feature length within each fluid zone. ANSYS FLUENT then subdivides the bounding box based on the shortest feature length and the Size Function Resolution that you specify. This allows ANSYS FLUENT to create a background mesh.

You control the resolution of the background mesh and a background mesh is created for each fluid zone. The shortest feature length is determined by shrinking a second box around the object, and then selecting the shortest edge on that box. The size function is evaluated at the vertex of each individual background mesh.

Figure 3.3.17: Size Function Determination at Background Mesh Vertex I

As seen in Figure  3.3.17, the local value of the size function $SF_I$ is defined by

 SF_I = \left(\frac{\Sigma{\frac{1}{{D}_{J}}{\Delta{s}_{J}}}}{\Sigma{\frac{1}{{D}_{J}}}}\right) (3.3-9)

where $D_J$ is the distance from vertex $I$ on the background mesh to the centroid of boundary cell $J$ and $\Delta{s}_{J}$ is the mesh size (length) of boundary cell $J$.

The size function is then smoothed using Laplacian smoothing. ANSYS FLUENT then interpolates the value of the size function by calculating the distance $L_I$ from a given cell centroid $P$ to the background mesh vertices that surround the cell (see Figure  3.3.18). The intermediate value of the size function $size_b$ at the centroid is computed from

 size_b = \left(\frac{\Sigma {SF}_{I} \frac{1}{{L}_{I}}}{\Sigma \frac{1}{{L}_{I}}}\right) (3.3-10)

Figure 3.3.18: Interpolating the Value of the Size Function

Next, a single point $Q$ is located within the domain (see Figure  3.3.19) that has the largest distance $d_{\rm max}$ to the nearest boundary to it. The normalized distance $d_b$ for the given centroid $P$ is given by

 d_b = \frac{d_{\rm min}^P}{d_{\rm max}} (3.3-11)

Figure 3.3.19: Determining the Normalized Distance

Using the parameters $\alpha$ and $\beta$ (the Size Function Variation and the Size Function Rate, respectively), you can write the final value $size_P$ of the size function at point $P$ as

 size_P = size_b \times (1 + \alpha \times d_b^{1+2\beta}) = size_b \times \gamma (3.3-12)

where $size_b$ is the intermediate value of the size function at the cell centroid.

Note that $\alpha$ is the size function variation. Positive values mean that the cell size increases as you move away from the boundary. Since the maximum value of $d_b$ is one, the maximum cell size becomes

 size_{\rm P,max} = size_b \times (1 + \alpha) = size_b \times \gamma_{\rm max} (3.3-13)

thus, $\alpha$ is really a measure of the maximum cell size.

The factor $\gamma$ is computed from

 \gamma = 1 + \alpha d_b^{1 + 2\beta} \quad\quad \mbox{if}~\alpha > 0 \\ (3.3-14)

 \gamma = 1 + \alpha d_b^{1 \over 1 - \beta} \quad\quad \mbox{if}~\alpha < 0 (3.3-15)

You can use Size Function Variation (or $\alpha$) to control how large or small an interior cell can be with respect to its closest boundary cell. $\alpha$ ranges from $-1$ to $\infty$, an $\alpha$ value of 0.5 indicates that the interior cell size can be, at most, 1.5 the size of the closest boundary cell. Conversely, an $\alpha$ value of $-0.5$ indicates that the cell size interior of the boundary can be half of that at the closest boundary cell. A value of 0 indicates a constant size distribution away from the boundary.

You can use Size Function Rate (or $\beta$) to control how rapidly the cell size varies from the boundary. The value of $\beta$ should be specified such that $-0.99<\beta<+0.99$. A positive value indicates a slower transition from the boundary to the specified Size Function Variation value. Conversely, a negative value indicates a faster transition from the boundary to the Size Function Variation value. A value of 0 indicates a linear variation of cell size away from the boundary.

You can also control the resolution of the sizing function with Size Function Resolution. The resolution determines the size of the background bins used to evaluate the size distribution with respect to the shortest feature length of the current mesh. By default, the Size Function Resolution is 3 in 2D problems, and 1 in 3D problems.

A set of default values (based on the current mesh) is automatically generated if you click Use Defaults.

In summary, the sizing function is a distance-weighted average of all mesh sizes on all boundary faces (both stationary and moving boundaries). The sizing function is based on the sizes of the boundary cells, with the size computed from the cell volume by assuming a perfect (equilateral) triangle in 2D and a perfect tetrahedron in 3D. You can control the size distribution by specifying the Size Function Variation and the Size Function Rate. If you have enabled the Sizing Function option, ANSYS FLUENT will agglomerate a cell if

 size \not\in \left[ \frac{4}{5} \gamma size_b, \frac{5}{4} \gamma size_b \right] (3.3-16)

where $\gamma$ is a factor defined by Equation  3.3-14 and Equation  3.3-15.

Note that the size function is only used for marking cells before remeshing. The size function is not used to govern the size of the cell during remeshing.

Feature Detection

For 3D simulations, ANSYS FLUENT allows you to preserve features on deforming zones not only between the different face zones, but also within a face zone.

In the Geometry Definition tab of the Dynamic Mesh Zones dialog box, for any geometry definition, you can indicate whether you want to include features of a specific angle by selecting Include Features under Feature Detection and setting the Feature Angle (the zonal feature angle $\alpha$) in degrees. If the angle $\beta$ between adjacent faces is bigger than the specified angle, then the feature is recognized (i.e., $\cos (\beta) < \cos (\alpha)$).

next up previous contents index Previous: 3.3 Dynamic Mesh Theory
Up: 3.3 Dynamic Mesh Theory
Next: 3.3.2 Six DOF (6DOF)
Release 12.0 © ANSYS, Inc. 2009-01-23