Mesh Generation
A good mesh might not lead to the ideal solution, but a bad mesh will always lead to a bad solution - Patrick Baker (Pointwise)
Table of Contents:
Mesh Size Estimation | Mesh Quality | Mesh Generation Steps | Pre-processing: FLUENT Mesher | TUI for CAD geometry Import | Mesh Generation in ANSA | Mesh Formats | COMSOL Meshing | Volume Mesh Setting in FLUENT Mesher | Mesh to Geometry | Workbench Meshing | Meshing in TurboGrid | Wrapping in FLUENT Mesher | Periodic Mesh | View Volume Elements on Iso-planes | Meshing Thin Gaps
Solid modeling (required to create 3D geometry) and mesh generation are at present separate steps, performed using different programs and software environment and a greater seamless integration is still in distant future. The first step of meshing is to ensure the "topological consistency" of the 3D geometry when the data is transferred from "Solid Modeling" environment such as ANSYS SpaceClaim, Creo, SolidWorks to "Mesh Generation" environment such as FLUENT Mesher, ANSA, Hypermesh. The topology refers to the way points, lines and surfaces connect to form a three-dimensional space. However, different nomenclature suh as Assembly, Component, Body, Parts, Multi-body Parts, Zones, Boundaries... make it a bit difficult to navigate from one tool to other.
For flow and thermal simulation jobs, consultancy, training, automation and longer duration projects, reach me at fb@cfdyna.com. Our bill rate is INR 1,200/hour (INR 9,600/day) with minimum billing of 1 day. All simulations shall be carried out using Open-source Tools including documentations.
Checklist of Volume Extraction and Mesh Generation before Exporting to Solver Format
No. | Checkpoint | Record [Y / N / NA] |
01 | Has the mesh quality been checked for skewness and aspect ratios (for boundary layers and for freestream elements)? | |
02 | Have sliver elements been collapsed? With minimum size ~ 0.05 [mm], elements having area < 0.002 [mm2] or volume 0.0001 [mm3] are unreasonable. | |
03 | Have the fluid and solid zones named as per material type say by adding air, ss, al, pl, cr (ceramics)... as suffix? Has the wall names added with prefix prism_ for boundary layer creation? | |
04 | Have appropriate prefixes been added to boundary names as per type: e.g. mf_ for mass-flow, vi_ for velocity inlets, po_ for pressure outlets... hub, shroud, periodic, interface, rotating, rough... for walls | |
05 | Have the areas of the boundaries been checked and matched with the values used to estimate boundary condition parameters? | |
06 | Have the walls been grouped into logical surface-groups, such as hsrc_ empt_ pcbw_ sink_ fixt_ hflx_... to make it easy to maintain during solution and post-processing? Read note-1 for FLUENT. | |
07 | Have the inlet and outlet planes of a porous domain been assigned to separate internal patches? Have the fan plane created with suffix such as cw_z or ccw_z based on direction of rotation and axis? | |
08 | Has the maximum valume of elements been checked to confirm consistent refinement? Check mesh statistics and compare with reference value. |
Note-1: When a Named Selection is created by selecting faces that belong to different bodies, after import into Fluent, the named selection is split into multiple zone and boundary condition needs to be employed on each of the zones separately. To avoid such segmentation of same boundary type, in addition to creating 'a' named selection for the required faces, 'a' named selection should be created for the bodies to which these faces belong to. When the mesh is imported into Fluent, the bodies that are now in the named selection are treated as a single cell zone and hence the boundary faces that were part of the named selection are not split.
This step involves division of the computational domain into small sub-divisions called a grid or mesh of cells/elements/control volumes. The 2D boundaries of this smaller (discretized) domains are called Faces, the 1D boundaries are called Edges and 0-D boundaries are called Nodes or Vertices. The solution of flow problems are defined at nodes or face centres of the cells. In general, the accuracy of CFD simulation is governed by cell size. Finer the mesh (lower the cell size), better is the result. However, hardware requirement (RAM, number of cores) increases with increase in no. of cells (elements) in the mesh. Hence, a trade-off is required.
Mesh by Extrusion
Note that a node is a 0-D element, an edge is an 1-D element, triangles and quadrilaterals are 2-D elements and tetrahedrons, hexahedrons, pyramids and wedges are 3-D elements. The 2-D elements which constitute the boundaries of a 3-D elements are called faces. Element which define the boundary of a computational domain will always have dimension 1 less than the dimension of the flow domain. For example, for 1-D cases the boundaries will be represented by nodes, for 2-D cases the boundaries will be of type edge elements and for 3-D cases the boundaries will have 2D elements.
A wedge or prism element is normally created by slicing a tetrahedron parallel to its base. Since, this element is created by rule near the boundaries namely of type walls, they will appear triangles from one side and quadrilateral from other side.The elements defining the flow domains other than boundaries are called interior elements. Note that the mesh topology used to specify simulation parameters may be different than the mesh topology internally created by the solver. For example, a solver may create a mesh around each node by connecting the centroids of all the elements associated with it. This is called a vertex-based scheme (e.g. CFX). In some cases, the mesh supplied to the solver will be used as provided such as FLUENT. This is known as cell-centred scheme.
Flow-Field Dependency: The effect of mesh quality (refinement and cell shape) on the accuracy and convergence of the solution process is dependent on the flow field being simulated. E.g. highly skewed or non-orthogonal cells can be tolerated in flow regions with no swirl or separation. On the other hand same mesh can be detrimental to simulation accuracy in regions with strong flow (pressure) gradients.
Since the locations of strong flow gradients generally cannot be determined a priori, user needs to guess the flow field based on his/her past experiences as well as using analogy between actual flow field and standard flow conditions namely "flow over a cylinder", flow over a flat plate, "flow inside a duct" and flow between parallel plates.
This is a simple calculator to estimate total number of elements expected during mesh generation step. The value shall help users check the limitation on memory size (RAM) of their workstations. For example, a 32 [GB] RAM machine may handle a volume mesh consisting of approx. 50 million "prism + tetrahedrons" or less.
Total surface area excluding internal walls/baffles: | [m2] | |
Total volume of computational domain: | [m3] | |
Surface mesh type: | [ - ] | |
Volume mesh type: | [ - ] | |
Typical surface mesh size: | [mm] | |
Typical volume mesh size: | [mm] | |
Number of prism layers: | [no.] | |
Average prism layer height: | [mm] | |
Maximum volume mesh size: | [mm] | |
*** |
A mesh consisting of more than 1 element types such as tetrahedrons and hexahedrons are called hybrid. They may or may not be conformal. In case a hybrid mesh consisting of tetrahedrons and hexahedrons are conformal, pyramid elements need to be used to transition from tetra to hexa elements.
A non-conformal mesh has grid nodes which do not match up along an interface. This type of mesh is useful for design study where parts can be replaced without regeneration of the entire mesh. Sometimes, this type of mesh becomes a necessity for meshing complex geometries. Recommended approach to have number of nodes / elements in the ratio 2:1 or less on the two sides of a non-conformal interface.Mesh Generation Methods / Algorithms: the two broadest categories of mesh are (a)structured mesh and (b)unstructured mesh. As the names suggest, structured mesh has a unique, predictable and repeatable topology whereas unstructured mesh is a pseudo-random distribution of element in space. Strcuctured meshes are composed of either quadrilaterals or hexahedrals. Unstrctured mesh can be a combination of all types of elements. Yet, a mesh consisting of only hexahedrals can also be unstructured mesh.
There are various mesh generation algorithms available in industry: OCTREE (QUADTREE), Delaunay, Advancing Front, Directed Meshing (Swept Meshing), Cut-Cell or Cartesion or snappyHexMesh, Paving, Multi-zone, Hexa-core ... to name few. Directed meshing techniques work on extrudable geometry: this refers to shapes which can be generated by linear (translational) and rotational or combination of both operation on a lower dimension geometry to get a higher dimension geometry. For example, a frustum is a linear extrusion of circular disk in radial as well as tangential direction, a cylinder is a uniform extrusion of circular disk, a circular disk is rotational extrusion of a line about one of its ends. The extrusion process is also known as sweeping or lofting operation.
Swept meshing algorithm works on the basis of source and target faces. Few criteria required to generate swept meshing are:
Recommendation from ANSYS FLUENT: For any other software, it is recommended to check the rating scale. For example, ICEM CFD considers skewness of 1.0 as perfect and scale is exactly opposite to that of FLUENT.
Skewness | 0 | 0 ~ 0.25 | 0.25 ~ 0.50 | 0.50 ~ 0.75 | 0.75 ~ 0.95 | 0.95 ~ 1.00 | 1.00 |
Category | Perfect | Excellent | Good | Fair | Poor | Very Poor | Degenerate |
Verbatim copy form ANSYS FLUENT 12.0/12.1 Documentation: Skewness is defined as the difference between the shape of the cell and the shape of an equilateral cell of equivalent volume. Highly skewed cells can decrease accuracy and destabilize the solution. For example, optimal quadrilateral meshes will have vertex angles close to 90°, while triangular meshes should preferably have angles of close to 60° and have all angles less than 90°.
Verbatim copy form ANSYS FLUENT 12.0/12.1 Documentation: Aspect ratio is a measure of the stretching of the cell. For highly anisotropic flows, extreme aspect ratios may yield accurate results with fewer cells.
a non-manifold geometry or 3D shape cannot be unfolded into a 2D surface with all its normals pointing the same direction. In other words, a 3D model can be represented digitally but there is no geometry which can physically support it in the real world. In the following picture, a hexahedral element has internal tetrahedral element which is not necessary at all.
Reference - STAR-CCM+ user manual:Similarly, if a vertex is attached to the interior of a surface or if surrounded by a volume but not connected with any of the edges defining that volume, it is called a non-manifold vertex.
For complex geometries such as engine under-hood thermal management, structured mesh quad/hex meshes are neither possible nor show any numerical advantage, thus one can save meshing effort by using a mesh consisting of tri/tetra elements.
Warp: It applies only to quadrilateral elements and is defined as the variation of normals between the two triangular faces that can be constructed from the quadrilateral face. Warp value is the maximum of the two possible ways triangles can be created in a quadrilateral/rectangular face.
Various checks required to ensure the geometrical and topological consistency of a mesh is completely described by the options available in ANSYS ICEM CFD as shown below. Similar checks is possible in any other software such as ANSA, ANSYS Meshing, Pointwise and GridPro.For a tetrahedron mesh, the maximum skewness shall not be better than the maximum face skewness because the skewness of boundary cells (tetrahedrons) is limited by the skewness of boundary faces (triangles).
As per CD-Adapco STAR-CCM+ User Guide Version 9.06, 2015: STAR-CCM+ polyhedral elements have an average of 14 faces and five times less polyhedral elements are needed for a given volume compared to tetrahedral elements.
Tetrahedrons: Their advantage is the ease of its generation even in case of very complex geometry. On the other hand tetrahedrons cannot be stretched excessively without decreasing the mesh quality factor, so a significantly larger number of cells has to be used in comparison to hexahedral mesh in order to achieve a reasonable accuracy. Moreover the numerical diffusion of tetrahedral elements is significantly higher.
Polyhedral cells: Combine the advantages of hexahedrons (low numerical diffusion resulting in accurate solution) and tetrahedrons (rapid semi-automatic generation) as well as to overcome the disadvantages of both the above mentioned mesh types. The major benefit of polyhedra l mesh is that each individual cell has many (> 4) neighbours, so gradients can be well approximated than is the case with tetrahedral cells. Polyhedrons are also less sensitive to stretching than tetrahedrons which results in better mesh quality leading to improved numerical stability of the model. In addition, numerical diffusion is reduced due to mass exchange over numerous faces. This lads to a more accurate solution achieved with a lower cell count.
Even along wall edges and at corners, a polyhedral cell is likely to have a couple of neighbors, thus allowing for a reasonable prediction of both gradients and local flow distribution. However, more neighbours means more storage and computing operations per cell than is the case with tetrahedral cells.Watertight Geometry Workflow | Fault-tolerant Workflow |
Prerequisite: clean watertight geometry with all surfaces properly connected - named selections and topology shared at CAD level | Prerequisite: None - Tolerant to bad quality CAD/STL, handles dirty and non-watertight geometries |
Main features: Conformal CHT mesh, Supports surface mesh file as input | Main features: Wrapping technology automatically handles gaps, unstitched surfaces and overlaps, Non-conformal CHT mesh |
It is also recommened to align the model in such a way that the front view covers the maximum information and the alignment of front view is inline with that defined in pre-processor. For exmaple, front view in FLUENT mesher is defined as XY plane with Z-axis point outward from the screen, the left view is YZ plane with Z-axis pointing into the plane of the screen and top view is the ZX plane with Y-axis pointing outward from the screen. This definition is not universal and some program use YZ as front view.
Another challenge and aften leading to confusion is the "Jargons" used in CAD and Meshing softwares to represent geometry (solid, surfaces and assemblies). CAD entities are designated as 'Components' and 'Bodies'. Components refer to 'Assembly', 'Sub-assembly' and 'Part'. 'Bodies' are basic entities in a CAD assembly tree which inclue CAD zones. This list gets compounded when one adds the terms "Geometry Objects", "Mesh Objects", "Face Zone Labels", regions, boundaries, continuum / continua, PID, collectors...
In design and manufacturing field, 'part', 'component' and 'body' are used interchangeably. They refer to a physical object which cannot be broken down further. E.g. a sheet metal bracket, a bolt or a nut is a 'component'. Similarly, impeller or shaft is a 'component' but the water pump is an 'assembly'. The water pump in an engine is a 'sub-assembly' and 'engine' itself is an 'assembly'.The pre-processing activities require geometry simplifications (defeaturing) and ANSYS SpaceClaim has some powerful non-parametric features. One of them is the 'Pull' option (short-cut 'p') which is equivalent to 'sweep' or 'extrude' operation. By default, pull direction is tangent to the selected edge or perpendicular to the selected face. A direction can be chosen or pulled (sweep) along a curve. Selection: all holes equal to selected radius, all holes of same radius in same face, all holes of radius equal or smaller than select radius. Blend (b): create surface by two lines (it is equivalent to 'loft' operation in some CAD programs). Fill (f): create surface from a closed loop of curves. Move (m): the 'origin' option is to select the reference point on the source object.
The steps (as well as tips and tricks) described here is based on simplifications features available in ANSYS Spaceclaim though it applies to any pre-processing tool. This acts as a checklist before geometry is transferred to pre-processor (mesh generation environment). For cases where ANSA and STAR-CCM+ are used, ANSA is equivalent to SpaceClaim and STAR-CCM+ is equivalent to FLUENT Mesher. Blender is another (fully) open-source program to clean geometry and convert the CAD model into STL type (water-tight) surface mesh. FreeCAD and gradCAD are few of the open-source CAD tools that can be used to create and modify geometries.
A key concept one should always keep in mind that a 'volume' does not necessarily be represented as a 'solid' body. A volume can be just a 3D space bounded (preferably water-tight) by surfaces. However, one should not try to spend extra effort in extracting the fluid (empty) space. Instead, simplifying, merging and filling the gaps in the solid bodies shall help get the right simulation domain.Step-1:
One recommended way to segregate the geometry into following groups - use the naming convention defined earlier or your own version:
☞ Tips for assemblies with uneven surfaces and gaps
Definition: gaps in the plane of a surface is called lateral (horizontal) gaps and gaps in the direction of area normal is called the transverse (vertical) gap. If you are dealing with large surfaces with small (transverse) gaps (say < 1% of the biggest geometry or say 1~5 [mm] which you can neglect), follow these steps:
Step-2:
Re-group and rename the data - the geometry in CAD environment is created keeping in mind the physical construction and assembly sequences. This is not important in mesh generation. It is better to re-group the geometrical (CAD) entities in terms of expected boundry definition. This makes it easy to operate on a smaller section of the entire domain. The selection, hide/unhide and operations such as imprint / interference become faster.Step-3:
Further segregate the geometry into 'Solids' and 'Surfaces'. This helps chose operations appropriate for the respective category such as fillet removal, split, booleans and extrude (pull) is easy on solids. When the geometry comprise of mix of solid and surface bodies, it is better to convert everything into solid, combine the solids as a water-tight geometry and then extract the volume. Extraction of fluid volume by deleting the exterior walls (surfaces) is a tedious time-consuming process and requires too many repetitive manual operations. This segregation shall further help in diagnostics of free edges. Components expected to have free edges should be named with prefix free_ or srf_ or any other convention one is comfortable with.Step-4:
Convert the solids with thin wall thickness into solids with no internal walls and void space. For example, a beam with fillets and internal wall. If the geometry contains many thin sheets who act as flow obstructions, sometimes it is better to thicken the sheets instead of using zero thickness sheets (the shells).
Step-5:
Before removing the wall thicknesss, use the operations appropriate for solids such as Booleans like unite, intersect... to make sure that once converted to surface no further operations such as extend / intersect are needed to remove the gaps / connect the surfaces. Note that this method is not recommended for FEA simulation. In CFD the blockage of flow is important where as in FEA the location of centroid is important.
Step-6:
ANSYS Spaceclaim is a CAD-type pre-processor and works better on solids. CFD volume extraction is analogous to 'negative' of visible solid volumes. Instead of deleting the unwanted surfaces one-by-one, it is recommended and worth trying to create a "bounding box" enclosing the geometry and use a boolean to subtract the solids from the 'bounding' box. The resultant negative volume of fluid domain is easy to operate and remove the protrusions generated due to gaps in original (input) geometry.Optionally, re-orient the model so that "Front View" is aligned as per the coordinate system for Front View defined in pre-processor. There is no unique defintion of Fron View. Some programs define XY-plane as front view, some as YZ-plane.
SpaceClaim Operations
SpaceClaim is a non-parametric CAD program. That means, it does not maintain any hisotry of operations and neither get constraints by one operation from another (except geometrical sanity). ANSYS is adding meshing capabilities also into it and various features can be turned ON or OFF by options shown below:File ↠ SpaceClaim Options ↠ Customize ↠ Ribbon Tabs
Selection
In many pre-processors such as Spaceclaim and ANSA, a box select from left-to-right and right-to-help have different result. The left-to-right box selects only the components which are fully enclosed inside the box. However, the right-to-left box selects every components (solid / surface / curve) whose smallest fraction fall inside the box. SCDM calls is a power selection and a combination of options can be used to select similar features in one go. E.g. All equal radius cylinder, Faces with same area, Holes equal to or smaller than...
Boolean Selection in COMSOL
COMSOL has feature to select entities based on Booleans such as Union, Difference, Intersection and Complement. There is also an option of "Adjacent Selection" to select Exterior and Interior Boundaries.
Selection in SCDM
In ANSYS Spaceclaim, holes, protrusions or fillets can be deleted either by 'Delete' key or 'fill (f)' operation.
In ANSYS Spaceclaim, almost every command has additional functionality or features under 'Options' tab. For example, 'Fill' operation has 'Multi-patch' functionality under 'Options' for 'Fill' tool.
Similarly, 'Selection' tab generates multiple options such as "All holes having radius < selected hole", "All surfaces having area < selected surface", "All solid bodies".... SCDM and FLUENT Mesher allow selection of curved surfaces of similar radius, smaller than the selected radius, surfaces having similar or lesser areas.... This is specially useful to remove small fillets in one go. The selection operations only on visible bodies. Switch on "Search All Bodies" to apply the selection to all visible bodies.
All the booleans such as Unite, Subtract, Add and Intersection are built into 'Combine' operations with settings in 'Options'. By default, 'Combine' is a cut operation which may sound counter-intuitive.
To split a body by a non-planar face or a sheet metal body, create the surface which extends beyond the body to be split. If you are not able to pull a surface or pull the edge to make it bigger, copy the surface and then pull that surface into a solid (set option Add for pull operation). This will fill any gap creating pull operation to fail as well as can be used to remove fillets.
Fill operation in SCDM requires a closed volume, that is if the selected surfaces should form a closed volume. This operation replaces the selected surfaces with neighbouring surfaces by extending them as required. Hence, sometimes a surface which is part of the volume to be removed / filled needs to be split appropriately. A subset of fill is "Remove ➔ Rounds" under prepare tab. Only round surfaces get selected when this option is ON". The "Remove ➔ Rounds" can be used to split the fillets and then delete them segments easily.
When you are not able to fill two adjacent surfaces, very likely there is a sliver surface step looking like an (extra) edge on the surface. Error in SCDM Geometry Import into FM: Check overlap (there might be intersecting geometry that are not corrected by Imprint or Overlap operations), Right click on the body and use "Check Geometry".Blend operation need not be between two lines only. It can be used to create a volume by selecting two surfaces.
Sometimes, a fill or blend operation may not work when few surfaces are missing to convert a volume into 'solid' body. One option is to use "Missing Faces" which has options to create a patch with "Multiple Faces". Most often than not, this is a better option than manually filling the missing surfaces.
When features do not get filled or removed from a solid body (such as non-manifold surfaces), the only option is to manaully delete thoses surfaces and then stitch them again. Note that the moment any surface is deleted, the solid body will transform into a surface body.
It is recommened to use Split Edges under 'Fix' tab to merge edges. Note that it is "Fix Split Edges" and not "Split Edges". Also, the features to remove small edges and small faces should be used before importing it to pre-processor such as FLUENT Mesher.
Read the help text carefully. E.g. the Volume Extract operation prompts user to select the 'Bounding' faces and hence one should never select a surface which is expected to be one of the surfaces of the extracted volume.
When the geometry consists of mix of 'Transparent' and 'Opaque' bodies, select all and pressing 'Opaque' icon will not make any change in the appearance. Press the 'Opaque' icon twice to make everything appear 'Opaque'.
The second operation is to merge the nodes within some threshold. If you have imported the surface mesh with minimum size set to 1.0 [mm], all the nodes within 0.25 [mm] or even 0.50 [mm] can be merged. This happens when the surfaces do not share common edge such as when there is a gap.
However, in case mesh for thin sheets, merging nodes with relative tolerance may lead to non-manifold vertices - the nodes on one face of the sheet may merge with nodes on the other face of the sheet. E.g. the thickness of sheet is 2 [mm] and surface mesh size is 5 [mm], the "Node Merge" operation with relative tolerance of 50% may lead to merging of node separated by 2.5 [mm].
Toolbars
Out of all the icons, the 'Set' (icon of a circle with 5 dots) and 'Position' (Cartesion coordinate system icon) are used in conjunction with other operations such as 'Project', 'Move To'... Note: In FLUENT Mesher all the keyboard shortcuts are case-sensitive i.e. ^j (collapse) ≠ ^J (mark cells). Similarly, ^s and ^S have varying usages. Most pre-processors features customizable Ribbon Tabs, Quick Access Toolbars and Context Based Menu. Out of this, Context Base Menu is important as the features are dynamically displayed and appear based on selection of entities (nodes, edges, faces) and remain hidden otherwise. For example, only when two nodes are selected, the "Collapse" option will appear.In ANSYS FLUENT Mesher, the keyboard short-cuts works in pair / sequence. That is, one key operation will lead to many other operations - e.g. ^C = colour selection mode. This activates other options namely ^z for "Colour by zone", ^o for "Colour by object", ^p to "Toggle colour pallette and ^r to "Randomize colour". From my experience, I find it worth only those short-cuts which can be operated with left hand alone. Since one's right hand is always on mouse, short cuts requiring both hands are not ergonomic. This makes only 12 characters (4 x 3 rows) easy to operate along with control and control + shift keys combinations.
Steps are as follows: select the target plane (horizontal plane in this case), press 'Set' icon or ^s (note small 's'), select the edges (or nodes) to be projected (horizontal edge of vertical plane), use shortcut key ^p (note small p) or Boundary ➔ Modify ➔ Project.
To make this operation easy to execute, one need to create suitable Face Zone Labels so that only required face zones are displanyed on the screen. Use 'Split' operation and rename the default labels generated by this operation.
For 'Intersect' operations, keep the 'Separate' options ON. It will create separate zones for unwanted faces.Feature Angle specifies the minimum angle between the feature edges that should be preserved during retriangulation. All the edges in the zone having feature angle greater than the specified Feature Angle are retained. This option is useful for preserving the shape of the intersecting boundary zones. Default value = 40°, a value in the range of 10~50° is recommended. Higher values may distort the shape of the intersecting boundary zones.
Join, Intersect and Stitch operations are collectively called 'connect' operations.
The 'stitch' option in FLUENT Mesher is used to connect two tri boundary zones along their free edges. It cannot be used to connect the surfaces at a location other than the free edges in the mesh. Gaps within the given tolerance are closed using closest point projection.
Use TUI /boundary/check-duplicate-geom to delete duplicate face zones.
Periodic Mesh
There are many cases where the overall geometries (computational domains) are too complicated to mesh in single step though they may comprise of sections periodic in nature. For smaller (periodic or symmetric) geometries, it is easier to set local mesh controls (on edges and faces) and carry out trials to get optimal mesh. Once a mesh for periodic volume is generated, it can be copied to fill the entire volume followed by node-merge operations to make the coincident periodic faces conformal internal walls.
Periodic boundary condition in Fluent Mesher is not among standard boundary type. The periodic boundaries can be created in FLUENT Mesher with TUI command: boundary make-periodic. In ANSYS Meshing, the periodic planes should have matching areas, number of edges and number of vertices on the two planes. This video from ANSYS explains the steps required to generate periodic meshes. Note that this method follows water-tight geometry workflow and may not work for Outline approach.Another option to create a translational periodic boundary condition in Fluent mesher is to assign symmetry boundary condition to two periodic patches (say periodic_1 and periodic_2) in FLUENT mesher. Once mesh is imported into FLUENT Pre-post, change the type to interface. Note that boundary layers shall not get generated on zones defined as type 'symmetry'. in ICEM CFD, there is an option in the GUI to define periodicity under Global Mesh Setup.
The mesh generated into a sub-domain and then copied to make full domain results in too many concident faces. Node merge is not allowed with polyhedral mesh in FLUENT Mesher. One option is to fuse boundaries (and merge duplicate nodes and faces) created by assembling multiple mesh regions in FLUENT Pre-post. However, it would require manual selection of faces to be fused.Remove Gaps between Faces
FLUENT Mesher has option to remove the small gaps between surface, both planar and curved faces. The standard approach to remove gap is to delete surface on the one side and then project the edges of that side on the adjacent surface.Method to remove gaps between 'Mesh Objects' and not between Face Zones: This method is applicable for removal of gap between two "Mesh Objects". Following steps are needed, note that this operation cannot be undone and hence one need to save the model before this.
Step-1: Set 'Priority' of the neighbouring "Mesh Objects" using "Change Zone Properties" option - the pencil icon.
Step-2: Right click on the "Mesh Object" ❯ Remove Gap ❯ Set 'Parameters' ❯ Gap Type ❯ Order (Priority)
Step-3: Click on 'Mark': no change in graphics window (display of mesh) will occur. Click 'Draw' to show up 'Marked' faces.
Step-4: Click 'Remove'. Click on 'Draw' again to view the modified topology. Use 'Intersect' or 'Join' as deemed appropriate.
Method to remove gaps within 'objects' - between Face Zones: This method is equivalent to Booundary ❯ Zone ❯ Project, note that this operation cannot be undone and hence one need to save the model before this. This is applicable to face zone within a mesh object and can be used on planar as well as non-planar surfaces.
There are 3 projection methods: Normal, (Specified) Direction and Closest. For thin gaps, 'Normal' and 'Closest' are likely to produce similar results.
Very small triangles can be collapsed en masse using "Improve by Area". When using "Min Absolute Size" users should preview their selection using the Size option in the Display Grid panel to view the faces with area below the selected threshold.
Meshing Thin Gaps
Many times, one may need to capture thin gaps to account for leakage or trapped air. In case it is only a trapped air (which acts like conduction layer and no convection), it can be simplfied by modeling the gap as contact resistance. In case you must capture gaps which is far too small as compared to overall domain size, it requires special attention and special method. If you decrease minimum cell size so small that the proximity size control is able to get 3 to 6 layers of cells in the gap, this may increase the overall volume mesh count to unreasonably high values. The ideal and sometimes only option to mesh such gaps are sweep meshing where the element size can be 20 to 50 times larger in direction perpendicular to the gap.Another option in ANSYS Meshing is to use hard behaviour. When a hard behavior is specified, AM tries to respect the prescribed element mesh size (and/or number of divisions for the edge meshing) on that entity. Hard behavior is useful to refine the mesh and use element sizes that are smaller than the default size. Though, this approach does not ensure desired number of volume elements across the gap throughout the gap.
Yet another option is to mesh the thin gap portion of the model with a different method (such as ICEM CFD blocking) or sweep meshing in ANSYS Mesher, then merge it with the rest of the model, either with conformal or non-conformal interfaces. The method to assemble meshes in Worbench is explained here. The sweep option in AM impose following conditions of geometry: "A sweepable body must have the same topology (lenths of edges and number of vertices) of faces on the source and target sides, and the swept (side) faces must not have any extra splits or faces."
Excerpts from ANSYS Meshing User Guide: "The MultiZone mesh method provides automatic decomposition of geometry into mapped (sweepable) regions and free regions. When the MultiZone mesh method is selected, all regions are meshed with a pure hexahedral mesh if possible. To handle cases in which a pure hex mesh will not be possible, you can adjust your settings so that a swept mesh will be generated in structured regions and a free mesh will be generated in unstructured regions."
Excerpts from FLUENT Meshing User Guide: "Thin Volume Mesh creates sweep-like mesh for a body occupying a thin gap. You define boundary face zones for source and target such that the source face normal should point to the target. The source face mesh may be triangles or quads. Four other controls are then used by Fluent Meshing to grow the volume mesh from the source zone to the target zone." The mesh generated by this approach is stored under "Cell Zones" tab in Unreferenced section of the model tree. One can proceed with normal Auto Mesh operation when all "Thin Volume Mesh" generation are complete.
Hints on Volume Mesh Size
In Fluent meshing, the smaller size takes priority irrespective of whether it is due to global sizing or local sizing. Local sizing gives control over meshing specific entities chosen by the user. For all other surfaces, global size control shall get applied. Thus, local size controls are intended to refine the mesh and global size controls for obtaining coarse mesh in rest of the volume.There is no CAD Kernel and Fluent Meshing (FM) is a fully faceted meshing tool. If CAD is imported it is tessellated on import. ANSA, Hypermesh, COMSOL, STAR-CCM+ have CAD Kernels and they can import geometry as CAD objects and export geometry to neutral CAD formats such as STEP and IGES. Face Zone Labels must start with an alphabet else FLUENT Mesher shall add prefix 'zone'.
Notes:
Zone type 'x' in FLUENT are [velocity-inlet, pressure-inet, mass-flow-inlet, inlet-vent, intake-fan], [mass-flow-outlet, pressure-outlet, outlet-vent, outflow, exhaust-fan], [axis, symmetry, interface, overset, pressure-farfield, wall].
SCHEME script to generate volume mesh in batch mode say on HPC cluster
;Read the surface mesh /file/read-mesh surfaceMesh.msh ; ;Optionally, compute volume regions - better do in GUI mode ;/objects/volume-regions compute objectName useMaterialPoint? ;/objects/volume-regions compute simRegion yes ; ;Set auto-mesh paramters as per syntax below ;/mesh/auto-mesh objectName keepSolidZones? quadTetTransion volumeFill mergeCellZones? ;/mesh/auto-mesh fluid yes pyramids tet yes ;/mesh/auto-mesh simGeom yes pyramids poly yes ;/mesh/auto-mesh fluid yes pyramids hexcore yes ; ;Save raw volume mesh with quality as generated /file/write-mesh volumeMeshRaw.msh ; ;Clean-up mesh zone names /mesh/zone-names-clean-up yes ; ;Improve mesh quality: skewness /report/quality-method/skewness angle /mesh/modify/auto-node-move (*) (*) 0.99 50 120 yes 5 /mesh/modify/auto-node-move (*) (*) 0.98 50 120 yes 5 /mesh/modify/auto-node-move (*) (*) 0.97 50 120 yes 5 /mesh/modify/auto-node-move (*) (*) 0.96 50 120 yes 5 /mesh/modify/auto-node-move (*) (*) 0.95 50 120 yes 5 /mesh/modify/auto-node-move (*) (*) 0.90 50 120 yes 5 ; /file/write-mesh volumeMeshFinal.msh yes /exit yes
Import Mesh or CAD Geometry:
Curvature sizing and proximity sizing based refinement are two key methods available to desselate the geometry during import. Curvature based refinement is controlled by "curvature normal angle" which is the maximum allowable angle that one element edge is allowed to span. For example a value of 8 implies that a 75° arc will be divided into approximately 9 segments. Defining curvature sizing for all object face zones except symmetry planes: /scoped-sizing/create control-curv curvature object-faces yes no "(eval-expr ’(list-subtract (get-objects-of-filter '*) (get-objects-of-filter 'sym*)))" 0.25 4 1.2 6
It is easier to generate mesh and improve quality on the smaller geometries. Hence, it is recommended to generate the surface mesh of independent sections of the computational domain and merge/combine later. The mesh quality and number of cells can be easily operated and managed on smaller domains than the entire domain. Note:
TUI commands on importing CAD geometry
Working Example
Basic Import Options:
/file/import/cad-options/one-object-per part /file/import/cad-options/modify-all-duplicate-names? yes /file/import/cad-options/name-separator-character '_' ;Add specified label to names of double-connected face zones (shared by 2 bodies) /file/import/cad-options/double-connected-face-label 'iface-'
Import CAD in Empty File - this import geometry as CAD Objects: /file/import/cad yes fluid_geo.scdoc yes 40 yes mm
Explanation: Import single file [yes] yes, CAD Import File Path [""] fluid_geo.scdoc, Extract Features [yes] yes, Feature angle(deg) [40] 40, Import Curvature Data from CAD [yes] yes, Length unit [mm]> mm
Re-import without appending: /file/import/cad yes fluid_geo.scdoc no yes 40 yes mm ok. Here last prompt 'ok' is for: Any unsaved data will be lost. Do you want to proceed? [ok]
Import as Mesh Object
First time import: /file/import/cad-geom yes fluid_geo.scdoc mm cfd-surface-mesh no 2.5 10 1.25 yes yes 5 2 faces-and- edges yes no
Re-import by replacing existing mesh: /file/import/cad-geom yes fluid_geo.scdoc no mm cfd-surface-mesh no 2.5 10 1.25 yes yes 5 2 faces-and-edges yes no ok
Explanation: Import single file [yes] yes, CAD Import File Path [""] fluid_geo.scdoc, Length unit [mm]> mm, Tessellation Method [cad-faceting]> cfd-surface-mesh, Use size field file? [no] no, Minsize [0] 2.5, Maxsize [0] 16, Growth-rate [1.2] 1.25, Enable size function: Curvature? [yes] yes, Enable size function: Proximity? [no] yes, Curvature Normal Angle(deg) [10] 5, Cells per gap [3] 2, Scope proximity to [edges]> faces-and-edges, Auto-Create Scoped Sizing? yes, Save size field? no, Any unsaved data will be lost. Do you want to proceed? ok
Minor Mesh Improvements
/diagnostics/face-connectivity/fix-free-faces/merge-nodes, /diagnostics/face-connectivity/fix-free-faces/merge-nodes stitch
Closing gaps using zone projection: Change to zone filter (Ctrl+z) ➔ Select (generally) the bigger zone and set as the target (Ctrl+s) ➔ Select the smaller zone and project to target (Ctrl+p) . This will close the gap. Additionally one can use Ctrl+k hot key to open the remove gaps panel.
Global vs. Local Join and Intersect Operation
Global Join operations: Change Operation to Join ➔ Select all Face Zone Labels ➔ Click on "Find Pairs" to see that there is a reasonable number of pairs ➔ Click on Join.Global Intersect operations: Change Operation to Intersect ➔ Select all Face Zone Labels ➔ Click on "Find Pairs" to see that there is a reasonable number of pairs ➔ Click on Intersect.
Remeshing Boundary Zones: To regenerate surface mesh on particular face zones, follow the operation Boundary ❱ Mesh ❱ Remesh ... Surface Triangulation. This operation is required to refine or coarsen few boundary patches only. Follow the following steps:
In most of the pre-processors, there is a feature to detect leakages such as open boundaries. ANSYS FLUENT Mesher has "Find Hole" feature under Wrapping operation though it may not yield the leakage path always and remains a bit less user-friedly in showing the leakage path. Leakages are one of the most frequently occuring issues while dealing with assemblies. One way to check the presence of leak is to check number of expected volumetric regions with that computed. FLUENT TUI "objects volumetric-regions list * * ()" shall print all the regions, their type (dead - not to be meshed, solid or fluid), material points... TUI "objects volumetric-regions change-type meshObjName volRegion1 volRegion2 () solid" can be used to change type of these regions.
Another option (inline with the algorithm used in Wrapping process) is to use "Split and Compute Volume" method. For example, the domain can be split into 4 quadrant and 4 material points defined for each quadrant. If is likely that the leakage is found in all 4 qudrants with the probability is low unless the geometry has not be checked and reviewed before importing into the pre-processor. The process can be repeated though the split can be into just two halves after initial split into 4 qudrants.
One may even start with just two halves and continue the process till the region having hole(s) is identified.
Import solids only: another approach to minimize likelyhood of leakage is to import only solid volumes (note the attribute 'solid' here denotes a closed water-tight 3D volume) into FLUENT mesher one by one and intersect / join later.
Once mesh is generated, one case use following recursive TUI commands thorough a journal file to automatically improve the suface mesh globally. Note wildcard character * can be used to include all objects. Since it refers to a list, it has to be used inside parentheses i.e. (*). If one wants to include objects starting only with 'srf', use (srf*) instead of (*). Here, 40 refers to the feature angle, 30 is the number of iterations and 'yes' instructs to preserve boundaries.
diagnostics quality general-improve objects (*) skewness 0.95 40 30 yes |
diagnostics quality general-improve objects (*) skewness 0.90 40 30 yes |
diagnostics quality general-improve objects (*) skewness 0.85 40 30 yes |
diagnostics quality general-improve objects (*) skewness 0.80 40 30 yes |
When general-improve does not work, the elements can be collapsed using following TUI commands resursively using a journal file. However, before collapsing these skewed elements, one should check that it will not cause distortion in geometry. Face quality in FM refers to skewness and one should not collapse the faces with skewness ≤ 0.7 - this may distort the geometry. If collapse operation creates significant change in shape of the geometry, only option left is to re-mesh those regions.
diagnostics quality collapse objects (*) skewness 0.990 40 30 no |
diagnostics quality collapse objects (*) skewness 0.985 40 30 no |
diagnostics quality collapse objects (*) skewness 0.980 40 30 no |
diagnostics quality collapse objects (*) skewness 0.975 40 30 no |
Other face connectivity improvement options are:
diagnostics face-connectivity fix-free-faces face-zones (list 'front 'rear 'top 'bottom) stitch 0.01 1 |
diagnostics face-connectivity fix-self-intersections face-zones (list 'front 'rear 'top 'bottom) |
diagnostics face-connectivity fix-duplicate-faces face-zones (list 'front 'rear 'top 'bottom) |
diagnostics face-connectivity fix-spikes face-zones (list 'front 'rear 'top 'bottom) 100 |
diagnostics face-connectivity fix-islands face-zones (list 'front 'rear 'top 'bottom) 10 |
diagnostics face-connectivity fix-slivers face-zones (list 'front 'rear 'top 'bottom) 0 0.75 |
diagnostics face-connectivity fix-point-contacts face-zones (list 'front 'rear 'top 'bottom) |
diagnostics face-connectivity fix-invalid-normals face-zones (list 'front 'rear 'top 'bottom) |
diagnostics face-connectivity fix-multi-faces face-zones (list 'front 'rear 'top 'bottom) all-above 5 20 20 |
Display ➔ Plot ➔ Cell Distribution: Plot or print distribution of cells in a given range of quality (Skewness, Aspect Ratio...). Mesh ➔ Tools ➔ Cell Modify ➔ Click on 'Skew': Display cells (faces and nodes of a tetrahedron) with worst quality
Recursive Local Remeshing Script: Following scheme loops mark and remesh faces and neighbours with skewness ≥ 0.5 and is applied to all face zones inside objects containing wildcard *wrap.
(define-new-marked-count 0) (ti-mark-bad-quality-faces) (*wrap) 0.5 0 (set! new-marked-count ( ti-count-marked-faces)) (*wrap) (if (> new-marked-count 0) (ti-menu-load-string "( ti local-remesh-marked-faces) (*wrap) geo 3 20") ) (ti mark-bad-quality-faces) (*wrap) 0.5 0 (set! new-marked-count ( ti count-marked-faces)) (*wrap) (if (> new-marked-count 0) (ti menu-load-string "( ti local-remesh-marked-faces) (*wrap) geo 3 20") ) (ti mark-bad-quality-faces) (*wrap) 0.5 0 (set! new-marked-count ( ti count-marked-faces)) (*wrap) (if (> new-marked-count 0) (ti menu-load-string "( ti local-remesh-marked-faces) (*wrap) geo 3 20") )
The object priority controls the inclusion of the mesh entities. In case of overlapping objects, the entities in the overlapped region will be included with the object having a higher priority value. Multiple objects having the same priority assigned will be merged into a single cell zone, irrespective of cell zone type.
Import of geometry as "CAD Faceting" is recommended for large model and for geometries intended to be wrapped. 'Tolerance' of CAD faceting is the minium facet size which should be ~ 1/10 of minnimum CFD surface mesh size.
Wrapping process in FLUENT Mesher is described below.The dimensions of the geometry discontinuity such as holes, gaps in the input geometry should be smaller than that of the size of the Cartesian cells created by the wrapper. If there are larger distortion in the input geometry, repair it to the extent that the distortion becomes smaller in size.
Large holes, if present in the initial geometry, should be filled else such holes will be ignored in the wrapping process. Gaps in the geometry larger than the local element size are called "Fully Resolved Gaps".
The Min Length is the minimum allowable cell length in the Cartesian grid. A smaller size captures details more accurately and also reduces the crossover configurations, although it increases the number of holes in the geometry. Hence, it is recommended to specify a Min Length value < half the required mesh size. Further, specify Min Length value 3-4 times smaller than the size of important narrow gaps present in the domain.
The Pan Regions dialog box allows you to observe and analyze the region (to be wrapped) created during the Cartesian grid initialization. When the plane passes through the Cartesian grid the interior of the Cartesian grid is displayed at every position on the plane. If at any position of the plane the color of the region is seen inside the geometry, there may be a leak or hole in the Cartesian grid. The Pan Regions dialog box only allows to know whether or not there is a leak or hole in the geometry and it does not tell the exact location of the leak.
One may not get the best wrapping in first step. Once an initial wrapping is obtained, inspect the mesh object thoroughly and identify areas where feature capture is poor (these are typicallly areas where geometry features are smaller than minimum size specified to wrapper). A re-wrap with proximity detection and minimum size appropriate for geometry feature would help solve the issue.As no two face zones (or boundaries) and volumes can have same names, during Automesh step FLUENT adds some (psuedo)-random number after the volume names. For example, the names of face zones defining a volume are w-htr-x, w-htr-y, w-htr-up and w-htr-dn. Consider the case when the name of face zone label containing these 4 zones is w-htr-x. Now, there is a wall-type zone having name 'w-htr-x' and a volume (or material point) with same name that is 'w-htr-x' [this will get generated after Compute Volume]. Hence, when the mesh is read into FLUENT Pre-Post, the volume 'w-htr-x' shall be renamed 'w-htr-x:235'. It is better to name every important surface in ANSYS Discovery (earlier known as SpaceClaim), DesignModeler and Meshing to avoid the automatic naming convention.
Zone names usually change after every re-mesh. Till ANSYS teams come up with a better (user friendly) solution, following method can be used to rename the zones. Note that this becomes a necessity when you need to carry out multiple simulation with mintor tweaking (say deletion or addition of few new volumes) in geometry. Everytime you generate a volume mesh, the names of walls associated with a zone and names of zones themselves shall get changed. In that case you cannot just replace the mesh without re-doing/re-checking the case set-up again.
A good understanding of Excel functions such as trim, textsplit, choosecols, find, search, len, index, left, mid, right, iserror, concat or & operator... would be helpful to use spreadsheet for this semi-automated way of generating desired TUI command to rename cell zones. Formulat to split a string based on multiple delimiters: textsplit(b3, {" ","_",":",";"})
Some familiarity with Python programming or notepad++ regular expressions (reg-exp) shall be helpful. Words can be serched by reg-exp inside (...). For example: (\bsolid-\w*:\w*\b) where \w{3} = 3 word character, \b = word boundary
Auto-naming of interface zones in FLUENT: The boundary between two volumes (material points) having names 'solid-ss-htr' and 'solid-ss-brkt' is named as 'solid-ss-htr:solid-ss-brkt' and 'solid-ss-htr:solid-ss-brkt-shadow' or 'solid-ss-brkt:solid-ss-htr' and 'solid-ss-brkt:solid-ss-htr-shadow'. Hence, it is recommnded to rename the interface zone by adding appropriate suffix such as iface-
TUI commands to List Zones and Rename Zones: /repot/mesh-statistics mesh-stat.txt - this prints zone name, ID, type and cell count in the txt file specified by user (mesh-stat.txt here). This information is useful to check the active zone type for each zone especially zone types wall and internal. Many a time zones which are expected to be of type 'internal' are defined as type 'wall' and vice versa. Please note that the prism layers are generated perpendicular to the zones of type 'wall' and hence prism layers shall grow also on internal planes in case they are defined as type 'wall'.
/mesh/modify-zones/list-zone - this prints the zone names and ID in the console, use transcript to save the output in a text file, /boundary/manage list is similar to /mesh/mo-zo/li-zo. /mesh/modify-zones/zone-name old new. Zone renaming will fail without error or warning message if the new zone name already exists. "/boundary/manage name oldZoneName newZoneName" is similar to "mesh manage name oldZoneName newZoneName" or /mesh/mo-zo/zo-na oldZoneName newZoneName. The SCHEME script can be create easily using Excel file where the zone name such solid-ss-htr:345 can be split into solid-ss-htr and 345. The suffix -vol or -mp (material point) can be added to generate a new zone name solid-ss-htr-vol or solid-ss-htr-mp.
The zone renaming is a MUST DO step if you want to use multiple geometries with minor changes and read settings from one case to another. Since the suffix (:345 here) added by FLUENT is not under user's control, the zone name for same material point will vary from one mesh to another. Hence, write-settings and read-setting options will not yield desired result if zone names in the existing case and new mesh are not the same.
The volume mesh refinement is not same as surface mesh refinement. It is more of a norm than exception that non-uniform volume mesh is needed to get accurate solution with lesser computational cost. The size of volume mesh (number of 3D elements) is dependent on surface mesh size and growth ratio. There are methods such as Body of Influence (BOI), Face of Influence (FOI), Local Refinement Regions, Sphere of Influence... which can be used to make the volume mesh locally finer. These concepts use a concept of virtual geometry and hence they do not need to conform to underlying simulation domain - in other words they can intersect, overlap or be completely submerged in the actual computational volume. In STAR-CCM+ there are options such as Field Function Refinement (which allows to refine mesh based on the value of some variable like turbulent viscosity) and Volumetric Control (which allows to define an input part that will require all cells within it to meet certain criteria that deviate from global mesh controls).
Clean-up operations are performed after the volume mesh has been generated. Operations such as deletion of dead zones and geometry/wrap objects, deletion of edge zones, removal of face/cell zone name prefixes and/or suffixes, deletion of unused faces and nodes are performed. mesh zone-names-clean-up yes. Hexa-core Meshing require two additional parameters: Buffer Layer and Peel Layer. P.L. = 0 implies hexa-core mesh will contain maximum number of Cartersion cells possible for set parameters. P.L. = 2 implies two tetrahedral layers before transition to the Cartersion mesh starts. Buffer layers specify the number of additional layers of hex cells to subdivide before growing to the next level. By default set to 1 but we recommend using 2 or 3 for a slower growth rate.
From TUI Guide: mesh/zone-names-clean-up - Cleans up face and cell zone names by removing excessive characters so that the zone names are easier to read. During the course of creating a mesh, various mesh manipulations can cause the face and cell zone names to become cluttered (with colons, dashes, and numbers for example). Using this command, zone names are reduced to include only the original zone prefix, a single colon, and the zone's ID appended to the end. Removes the ID suffix from face zone names: (tgapi-util-remove-id-suffix-from-face-zones), Clean up face zone names by removing IDs wherever possible: (tgapi-util-clean-face-zone-names), Remove the zone ID (:id) from zone ID list: (tgapi-util-remove-ids-from-zone-names '(zone-id-list))
Replace the face zone suffix to rename face zones. Specify whether to merge the face zones being renamed (set merge? to #t or #f). If an empty string is specified for the separator (" "), the string specified for 'replace-with' will be appended to the face zone names: tgapi-util-replace-face-zone-suffix '(face-zone-list) "separator" "replace-with" merge?). To replace the cell zone suffix: (tgapi-util-replace-cell-zone-suffix '(cell-zone-list) "old-suffix" "new-suffix" merge?). The previous TUI commands shall require following TUI: Return a list of regions in the specified object: (get-regions-of-object 'object), (tgapi-util-get-region-name-list-of-object 'object), (tgapi-util-get-region-name-list-of-object "object"). Before proceedind to set parameters for prism (wedge) layers, change volume type to fluid or solid as applicable, check boundary type using TUI boundary/manage/list. This will print boundary name and type. Change inlets and outlets to appropriate type (default is 'wall') else prism shall get generated over inlet and outlet faces as well. Prism Controls have two options:Volumetric (watertight) Regions must be computed before volume meshing. 'Update' recomputes regions but retains any changes to types or names. 'Validate' is a check to verify the regions are closed if modifications have occurred such as zone separation. This will automatically happen at volume mesh stage anyway.
In Automesh panel, 'Compute' Max Cell Volume will calculate based on max edge length in the mesh using perfect tetrahedron formula: volume = √2 /12 × a2 where 'a' is the side length.
If boundary zones are renamed, merged... after volume mesh has been created, deleting the volume mesh prompts to "Restore Boundary Zones". Press 'No' else all the boundary zones shall be changed to type/status before volume mesh was generated. Right click on "Volumetric Regions" and then use the "Info" option: this will print material point name, type, volume, face-zones.... Hex-core Cartesian: "Max Cell Length" is used to generate initial Cartesian cells, Hex-core OCTREE: Hex-core mesh size is used to define mesh size.
mesh tet improve collapse-slivers | Collapses the nodes of a skewed sliver cell on any one of its neighbors. |
mesh tet improve refine-boundary-slivers | Increases the volume* of boundary slivers to create a valid tetrahedral cell. |
mesh tet improve refine-slivers | Removes** the sliver by placing a node at or near the centroid of the sliver cell. |
mesh tet improve sliver-boundary-swap | Removes boundary slivers by moving the boundary to exclude the cells from the zone. |
mesh tet improve smooth-boundary-sliver | Smooths*** nodes on sliver cells having all four nodes on the boundary until the skewness value is less than the specified value. |
mesh tet improve smooth-interior-sliver | Smooths non-boundary nodes on sliver cells having skewness > specified threshold value. Default value = 0.985. |
** Swapping and smoothing are then performed to improve the skewness. You can also specify whether boundary cells are to be refined. Refining the boundary cells may allow you to carry out further improvement options such as smoothing, swapping, and collapsing slivers.
*** Default values for the skewness threshold = 0.985, minimum dihedral angle between boundary faces = 10° and feature angle = 30°Adjust feature angle gradually where 0° implies all nodes are protected and 180° refers that no nodes are protected.
TUI command can be used recursively for auto-node movement: Here 120, 150 ... are the dihedral angles, 50 is the number of iterations. Please note that the values 0.99, 0.98, 0.97... are skewness. Hence, the default quality reporting methods MUST be skewness. In some versions of FLUENT Mesher, default quality parameter is Orthogonality and hence this operation may fail. Use TUI "report quality-method skewness angle" before running the following scripts.
mesh modify auto-node-move (*) (*) 0.99 50 120 yes 10 |
mesh modify auto-node-move (*) (*) 0.99 50 150 yes 10 |
mesh modify auto-node-move (*) (*) 0.98 50 120 yes 10 |
mesh modify auto-node-move (*) (*) 0.98 50 150 yes 10 |
mesh modify auto-node-move (*) (*) 0.97 50 120 yes 10 |
mesh tet improve smooth-interior-sliver (*) () 0.975 50 0.05 where 0.05 is the relaxation factor. |
Mesh ❯ Tools ❯ Tet Improve: remove highly skewed cells with "two boundary faces"
Skewness based smmothing: Mesh Tools Tet Improve General - options are Smooth Nodes, Improve and Swap Faces. The 'Improve' method requires "Minimum Improvement Required" which is value which is use to stop the smoothing iterations when change is cell skewness is achieved. There is an internal check to prevent a node from being moved if the node movement causes skewness to increase.
Other smoothing operations in FM are Laplacian Smoothing and Variational Smoothing for Tetras. Laplacian smoothing tend to pull the node away from boundaries and reduce clustering of nodes. Variations smoothing is complement to Laplacian smoothing where new node position is weighted-average of circumcentre of the cells connected to the node.
Bad quality and sliver cells can be displayed and manually split (each cell shall be split into 4 by plaing a node at the centroid) / merged to improve the quality usign the feature Mesh Tools Cell Modify Quality. However, before using these operations, display the poor quality cells using Display Grid Cells Quality. Tick the 'All' checkbox under Nodes, Edges and Faces tabs.
Once mesh quality improvement operations are complete, untick the 'Quality' options under Mesh Tools Cell Modify Quality. The TUI path to collapse slivers in volume mesh is mesh / tet / improve / collapse-slivers (*) () 0.985.TUI: report verbosity-level specifies how much information should be displayed during mesh initialization and refinement and other operations. Changing the value to 2 from the default value of 1 will result in more messages while changing it to 0 will disable all messages.
Prism Layer Splitting
After prism layers are generated, prism layer splitting also supported with options to change growth rate based on total height.View Volume Elements on Iso-planes or Section planes
Switch to node filter -> Select a node at the desired location of iso-plane -> Set +/- Delta as zero and click Set Ranges -> Deselect X Range and Y Range, leaving only Z Range if cut plane is aligned to XY-plane. From main menu: Display -> Grid panel -> In the Cells tab, select the desired Cell Zone -> under Options, tick Bounded then click Display to show volume (3D) elements on the iso-plane. Alternatively, select the zone under Mesh Objects in model-tree and click RMB on Cell Zones -> Draw All Cells in Range.
Common issues with mesh
Warning: 3 cell(s) have only wall faces... this means volume mesh is topologically not correct. The mesh needs to be separated using TUI in FM:mesh separate separate-cell-by-region fluid
where 'fluid' is the name of the volume mesh.In FLUENT Pre-Post, the TUI option is: mesh modify-zones sep-cell-zone-region. The TUI mesh mesh-info 0 (here 0 is the grid level^) or GUI path Mesh Info Zones can be used to find out the new redundant cell zone (it will have few cells only, 3 in this example). Thereafter, the inconsistent zone can be deleted.
^ - For density-based coupled explicit solver, the mesh information is printed for each grid level. The grid levels result from creating coarse grid levels for the Full-Approximation Storage (FAS) multigrid convergence acceleration.
Mesh Exchange across Applications
If mesh generated in FM has unit of [mm] and it is scaled to [m] in ANSA, when the mesh is re-exported to NASTRAN format, it will maintain the length unit [mm]. When the NASTRAN mesh is imported into COMSOL, it will use [mm] as length unit and hence the length unit need to be changed appropriately. Since most of the solvers work on SI unit internally irrespective of the units used to set-up the case, it is better to scale the mesh in source (e.g. FLUENT Mesher: Mesh ❱ Manage ❱ Scale. Do not use Boundary ❱ Manage ❱ Scale operation).Mesh to Geometry
Sometimes, meshed surfaces need to be converted into geometrical entities say to generate a better mesh, change the domain size or use a different program for simulation. One common method is to use STL format for this purpose though it shall result in highly skewed cells if the original mesh comprises of thin boundary layer (quad) cells. Few options which can be tried out to make the input mesh more uniform are [1] Wrapping, [2] Merging or remeshing surface elements having area < a threshold value. However, be aware of the edges with included angles > 150° where the remeshing approach may lead to violation of sharp boundaries. Edge zones becomes extremely important dealing with faced geometry. In ANSYS FLUENT Mesher, edge zones can be separated (split) following Boundary > Mesh > Feature > Edge Modify > Separate. Angle can be specified for separation (edge split) criterion.
Some other operations required before remeshing are: (a) Rezone a Face: move faces to a new zone especially where sharp edges exist (b) Split highly curved surfaces appropriately into small segements so that they can be approximated with regular surfaces (c) Global retriangulation: re-triangulate all the surfaces to get rid of sliver elements. (d) Create Edge Loops: in FLUENT Mesher, Edge Loops can be created according to either (i) the edge loop creation approach (having further two approaches: "Face Zone Approach" and "Face Seed Approach") or (ii) the angle criterion (having options based on "Fixed Angle Criterion" and "Adaptive Angle Criterion".
The interior edge thread at the common edge is created when the specified value for "Fixed Angle" is < the feature angle. In other words, a common edge is considered to be a feature edge when the angle value specified (fixed angle criterion) is less than the feature angle.
ANSYS Discovery (previously known as SpaceClaim) has a feature Auto Skin that generates CAD geometry from faceted boundaries that are relatively smooth and error free (no sharp edges or self intersections). If the model boundary is not smooth, the CAD geometry creation may fail or result in incorrect geometry such as CAD geometry may not be confined to the boundary of the faceted area. It also has Skin Surface tool to sketch and create surface patches on the facets, and stitch them together into a surface body. Single-click the mesh starts the sketch and adds internal edge points (can be moved to adjust the shape of the edge), double-click ends the edge selection and creates a corner. To create rectangular patches, use box-select instead of sketching by freehand mthod. There is another feature Extract Curves to create geometry edges on section planes. Fit Spline tool creates a "best fit" spline surface through selected mesh facets.
Mesh Transfer using FE Modeler: As per article titled "How do you transfer a mesh from ICEM CFD into Workbench Simulation?" posted on innovationspace.ansys.com - Write an unstructured mesh from ICEM CFD → Insert an FE Modeler component → When "add[ing] input mesh" select the extension as "ICEM Input (*.uns)." → Open FE Modeler and right click on "Geometry Synthesis > Insert > Initial geometry." → Left click and drag the 'Model' cell of the FE Modeler system to the 'Model' cell of the Simulation analysis system.
Mesh Exchange between Various Programs
Most pre-processors have option to save the mesh information in binary and ASCII formats. Pre-processors like ANSA can read the FLUENT mesh (both surface and volume meshes in *.msh and *.cas formats) directly. However, the mesh information (the file) needs to be saved in ASCII format.Mouse Button Setting:
Modules of ANSA:
The concept of Feature Area, which is defined according to the feature angle, is widely used in many functions in ANSA. The Feature Area is defined as the area of shell elements between whom the angle that is formed at their common edge is < the given feature angle. This is equivalent to "fill up to an angle" in ICEM CFD. Similarly for edges "Feature Line" selection tool uses the concept of "Corner Angle" which is defined as the angle formed by two consecutive element edges.
ANSA Geometry Check Options:
SETs: for management of SET groups of ANSA entities like elements, properties, Faces, ... The CONS (Curves ON Surfaces) are the boundaries of the Faces. According to their connectivity, they are colored in Red (single edge), Yellow (double connectivity), Cyan (triple of more connectivity), orange when a double CONS has been joined. The Hot Points are the end points of CONS. A more handy way to deal with Faces is to use the Crosshatches. These appear as green dashed lines and represent the isoparametrics of the Surface on which the Face lays. A Face can be selected by its Crosshatch. In case that a Face is “frozen” (by the Freeze function), its crosshatch is colored in blue.
Use the function CHECK > GEOMETRY to identify and fix automatically some problems. Watertight preparation: Having extracted the outer surfaces, you must create the watertight model by sealing all gaps and eliminating the overlaps. If these gaps are small (close to the Tolerances), they can be closed by TOPO or PASTE functions. If they exceed (by far) the tolerances, then new Faces must be created (usually with SURFs>COONS) to close them.
Checking for intersections and proximities at Geometry level: You should make some checks for intersection and proximity while constructing your model. First of all, use the CHECKs > PENETRATION [Intersections] to locate intersecting areas (wrong topology, misplaced parts etc). Fix these areas using TOPO functions (like FACEs>INTERSECT). Use the ISOLATE > FLANGES [Proximity] function to isolate Faces within a certain distance apart. This will indicate you all the proximity problem areas that may cause problems in volume meshing. Then use the FACEs>FUSE function to close these narrow proximity passages, where possible.
If you activate Shadow and Double flags, there may be Faces that fail the Shadow operation. These Unchecked Faces are reported on the Screen Using the Context Menu (right click menu) of the unchecked faces, these can be isolated on the screen in order to be corrected. Such Faces usually are thin needle shaped Faces or Faces that have bad Surface description. ANSA Meshing Parameters Setting:
Before switching to MESH, activate SHADOW and FOCUS>UNCHECKED. If ANSA leaves any Faces visible, it means that they cannot be shaded and you should fix them also.
ANSA Volume Meshing Parameters Setting:ANSA Mesh Quality Checks:
Method-1: Isolate > Skin function
Step-1:Selects whether to isolate exterior or interior geometry.↓
Step-2: Specify excluded volumes, that is positions in space where ANSA should not find a path from the exterior.↓
Step-3: Select from the screen point position to extract their CoG and confirm. More than one seed points can be specified.
↓
Step-4: Based on the user specified value of leak size if ANSA finds a path from the exterior to the seed points then it will create a 3D curve indicating the leak patch through the opening.
Method-2: Elements > Wrap [Variable length] function
The function provides an integrated leak check tool with an additional advantage with respect to the previous method, the fact that it uses a variable length octree that adapts to the local length.ANSA wrap algorithm will run and if there is a leak will stop and create several 3D Curves. This allows the user to trace and locate multiple leak areas in one step.
Method-3: Elements > Short Path [Leaks] function
This method can only be used on good quality mesh (not STL mesh with intersections and other problems) if there is a suspicion that there is a leak which is not easy to locate in a complex model, and the automatic Volume detection algorithm fails.Step-1: Specify one outer point (green) and one (or more) inner ones (red).
↓
Step-2: Points must NOT lie on the surface mesh but inside or outside the volumes in question. To select easily a point that lies inside the volume and not on the surface, select more than one points and ANSA displays the CoG of them and highlights it.↓
Step-3: Then proceed with the next source point, select many nodes on the surface, ANSA displays the CoG. Finally confirm all selections with middle mouse and ANSA will calculate a curve of the Leak Path, if such a path exists.
↓
Step-4: The leak can be found by tracing this path.
Geometry Preparation | |
Faces Resolution | Different models require different discretization length. Assign a suitable element length on your model from Mesh > Perimeters > Length or Spacing [Auto CFD]. This will allow you to better display the model details. |
Faces Orientation | Activate Visibility > Shadow mode. All Faces should be uniformly oriented. Gray is the positive side and yellow the negative. Use Faces > Orient to assign uniform or invert the orientation. |
Unnecessary Hot Points | Perform a Hot Points > Delete with box selection to remove any unnecessary Hot Points. |
Check> > Check Manager > Geometry Checks | The user can use the Checks>Checks Manager functionality to identify several common problems in one click.Use the template Geometry Checks to find all the problems. ANSA will report all the problems. Double clicking on each category will allow the user to right click and isolate or automatically fix the problems (if possible). Triple CONS may exist in a CFD model on purpose. Single CONS should only exist if the model has zero-thickness walls (baffles). If any penetrations are identified, the user should use the function Faces>Intersect to fix any intersecting parts. |
Isolate > Flanges > Proximity | This check will identify parts that are very close together (although not actually intersecting). The absolute distance value is left to the user to decide. Very often such geometries also need to be topologically connected, using Topo functions like CONS>Project and Faces>Topo. |
Surface meshing | |
Perimeters > Length or Perimeters > Spacing [Auto CFD] | Ensure that you assign to all Perimeters the desired Element Length. For uniform element length mesh, use Perimeters > Length, while for variable, curvature dependent surface mesh use Perimeters > Spacing [Auto CFD]. |
Unmeshed Macros | After using the various meshing algorithms (Adv. Front, CFD...) the user should check for Unmeshed Macros in the legend on the left. Use right click for Show Only and then use alternative algorithms or cut them into smaller macros, or check the underlying geometry. |
Visibility > Hidden OFF elements | Switching to Hidden mode allows you to check if there are violating elements, reported in the legend as OFF. Use Shell Mesh > Reshape [Advanced] to fix them automatically (perform twice if needed). If there are any remaining OFF elements, then use right click Show Only on the legend OFF to identify and examine these areas. You may have to use Shell Mesh > Fix Quality or even change the geometry or the element length to better resolve such areas. Do not proceed to layers or volume meshing if you still have OFF elements on the surface. |
Surface mesh orientation | If layers are to be generated ensure that the orientation is uniform and correct for the whole of the model. Use Macros > Orient. |
Checks > Checks Manager > Surface Mesh Checks | Use the Surface Mesh Checks template of the Checks Manager to identify all the problems of the surface mesh. Unmeshed Macros and Intersections Sharp edges: This check will identify very sharp angles in the surface mesh. These may be due to flipped elements on the surface or to the actual nature of the geometry. Such areas may cause problems, especially for layers generation, so you should treat them
appropriately.
Trias on Corner: identifies triangles at three edge corners and swaps them if needed so that layers with better quality can be generated afterwards. Duplicate and Triple Bounds: will identify duplicate elements or triple connectivity edges. Check for proximities that may lead to problems in layers of volume meshing. The check distance can be an absolute value, but it is better to specify an element length factor (< 1). This implies that the check distance will be equal to the factor multiplied by the local element length. Activate also the options to check proximities among areas with the same PID (self-proximity) and provided that you have oriented your shell mesh (Macros > Orient) correctly, check only the positive side (gray one) for proximities. |
Volume meshing | |
Volumes > List | After layers generation, ensure you have the whole model visible and use the function Volumes>Define [Auto Detect] to automatically identify all volumes. Mesh them with Volumes > Mesh Volume. Open the Volumes > List and check that all volumes are marked as Meshed. Check also that they have correct Property Name (Use Volumes > Set PID if needed). Select a Volume and press Info to get quality information. |
Visibility > Hidden | Switching to Hidden mode allows you to check if there are violating elements, reported in the legend as OFF. You can optionally press right click Show Only on the OFF legend to isolate them. To fix them, press Focus > ALL, ensure that the visibility of Macros, FE-mod and Volumes are all active and then use Volumes > Improve > FixQual [Visible]. You may have to press the function again in order to fix any remaining elements. |
STAR-CCM+ Volume Mesh Import:
STAR-CCM+ 3D to 2D Mesh Conversion:
COMSOL is a Finite Element Method (FEM) based solver in contrast to other programs which are Finite Volume Method (FVM) solver.
Some operations and key-board short-cuts:
By default, COMSOL maitains SI system of unit for solved variables. To plot temperature in [°C] unit, create a new express Tc = T - 273.14 using operation Definitions ❱ Variable. Similarly to specify simulation input such as reference temperature, use expression Tref = 25 [degC].
In order to import STL into COMSOL, make sure that it is well-defined: no intersections, no holes, all triangles attached to each other (overlap). COMSOL applies a "Boundary partitioning" algorithm when importing STL meshes. This algorithm fits smooth, curved surfaces through the STL triangles, reducing the number of boundaries in the geometry. Using a Minimal boundary partitioning creates as few faces as possible — sometimes only one. The Minimal setting is usually a good choice when the source is a 3D scan. The default Automatic boundary partitioning is best suited for cases where the imported mesh has a natural face partitioning (i.e. when the mesh is from a CAD file). There is also an option to manually set the parameters by choosing Detect faces.
It is better to omit this step. In the Import node, select "Detect faces" for the option "Boundary partitioning". Then, set "Maximum boundary naighbour angle" to 0 and disable "Detect planar faces". COMSOL mesher is then bounded to preserve the triangle edges, which could results in a mesh that is finer than necessary and possibly in worse element qualities. Therefore, STL mesh can be generated as coarse as deemed apprropriate before importing it into COMSOL.
When the Active button is OFF, the selection for the current node is highlighted in yellow.When the selection is active, add or subtract it from the selection list by observing how the colors cycle on and off.
Domain 2 is removed from the Selection on the Settings window for Linear Elastic Material. When you hover over it, it is highlighted in red in the Graphics window to indicate where it is on the geometry.
Click to add Domain 2 back to the selection and Hover over a geometric entity in the Graphics window and it displays in green.
When you hover over a geometric entity in the Graphics window it displays in red to indicate it has not been added to the selection list. Gray-colored domains are not selected or included.
Click the domain to add it to the selection list on the Settings window and it displays in blue to indicate it has successfully been added. Gray-colored domains are not selected or included.
It is only possible to import a mesh if the geometry sequence is empty. If the sequence already contains a mesh, the imported mesh is added to the existing mesh, forming an assembly.
When a mesh is imported into COMSOL, the Import node automatically determines a partitioning of the mesh into domains, boundaries, edges, and points. If the automatically performed partitioning does not match the requirements, you can modify the face partitioning by manually adjusting the corresponding parameters.To import additional meshes, add another Import node. Then COMSOL adds the elements and points of the newly imported mesh to the existing mesh. Meshes from different Import nodes form an assembly. The Finalize node ends a meshing sequence of imported type. It performs an associativity update for geometric entity numbers. You cannot delete, disable, or move the Finalize node. The software automatically builds all nodes in a meshing sequence, including the Finalize node, if you select a node in Model Builder outside the meshing sequence.
Using Several Meshing Sequences of Imported Mesh Type
You can define several meshing sequences for the same geometry. If the geometry sequence is empty (a necessary condition for the Imported mesh sequence type), the first Mesh node under the Meshes node defines a topology and is referred to as the master sequence. All the other Mesh nodes should define a geometry topologically similar to the one defined by the master sequence. Two geometries are considered to be similar if they have the same number of geometric entities and their points have the same coordinates. Imported mesh can be remeshed to create a new mesh more suited to solving the problem at hand.It is possible to import externally generated mesh data using a COMSOL mesh file. The file format contains a section with mesh points coordinates, followed by sections with mesh element information, divided into separate subsections for each mesh element type.
Importing a mesh clears the geometry defined in the corresponding geometry sequence. In order to use an imported mesh together with an existing geometry, import it in a separate component. Then use the Copy or geometry Import features to transfer the mesh to the geometry sequence.
STL Import
When a a STL (surface) mesh is to be imported into COMSOL, it should be imported as 'Geometry' object and not as 'Mesh' object or 'part' as it is called in COMSOL. This step automatically creates a 'Mesh' part under 'Model' tree on the left of the GUI workspace. In case mesh part is not created or gets deleted accidentally, use "Add Mesh" option under 'Mesh' menu and apply "Build All".During the mesh import, the geometry can also be created with smooth edges and faces and even creates solid objects from surface meshes with a 'watertight' region. Though the surfaces are interpolated and hence are not exact. Due to this, surfaces of an STL sphere, for example, are not perfectly spherical. It is also difficult to combine these objects when they are expected to contain perfectly matching faces that are supposed to touch..
Note that mesh files do not contain information about the Length unit, so this must be set manually in the settings windows of the Mesh Part and the Geometry nodes.
Once the surface mesh is imported, the water tight domain can be created using "Create Entities" options. When a volume mesh in NASTRAN format is imported, the volume (domain) gets created during import operation itself in case no error is reported by COMSOL. However, one need to adjust length unit of the imported mesh using operation Geometry ❱ Settings ❱ Length Units. Operation Options ❱ Preferences ❱ Modeling ❱ Units sets the unit for user input though the solver still maintains "Base Unit" as SI system internally. Please test out the effect of toggle option "Scale Value when Changing Units" while using operation Geometry ❱ Settings ❱ Length Units.
NASTRAN Import
When a NASTRAN bulk data file is imported into COMSOL Multiphysics, the software imports mesh and material information only. To import mesh and material data from a NASTRAN file select Mesh and materials in the Data to import list. In this case, COMSOL creates Material nodes corresponding to the data in any MAT1 and MAT10 entries in the file. Furthermore, the thickness data of any PSHELL entry in the file is stored in a Variables node as long as it is greater than zero. To simplify the use of this data in physics interfaces, such as the Shell interface, an Explicit Selection node, which contains all boundary faces associated with PSHELL entries, also appears automatically. If the material data is not required, select Only mesh to import the mesh only.Mesh information is read from different NASTRAN entries, including those for mesh elements of lower dimension. When this information is not complete in the file, COMSOL enriches the imported mesh data with boundary elements, edge elements, and vertex elements such that a valid mesh object is formed. Each element in the imported mesh object receives a unique entity index.
Operations on Imported Meshes: The following mesh import operation nodes make it possible to define the partitioning of an imported mesh into domains, boundaries, edges, and points, with respect to the physics interface settings of the Component.
Importing Incomplete Mesh Data: A COMSOL mesh contains elements for all space dimension levels. For example, a tetrahedral mesh consists of domain (tetrahedra), boundary (triangles), edge, and vertex elements. Furthermore, each element has an index to the geometric entity it belongs to. If a mesh file is incomplete - for example, if it only contains tetrahedrons - the Import operation automatically generates the missing element data.
COMSOL can import volume mesh created in other pre-processor in NASTRAN format only. Surface meshes in STL, LPY, VRML and 3MF formats can also be imported. FLUENT Mesher cannot save mesh directly as NASTRAN format. One round-about process is to save FLUENT mesh *.msh as ASCII format ❱ Import the mesh in ANSA ❱ Export the mesh as NASTRAN format ❱ Import the mesh in COMSOL (ignoring the material).
In case surface meshes are imported, follow the steps mentioned below.
Reusing The Original Mesh: It is possible to use the original, imported mesh, or parts of it, in the new Component.
Once 'Geometry' component gets linked to 'Mesh' component, the 'Geometry' tab under 'Mesh' component gets deleted automatically. For cases with interfaces, it is recommended to use 'Mesh' components for each domain separate.
When ANSYS Meshing fails to mesh an edge or a surface, it highlights only that entity. To view the location of failed geometry component, hover the mouse around it to highlight and select neighbouring faces.
Do not use "Update Project" in Workbench unless you want to have 'Solution' performed locally. Update individual components such as 'Mesh' and 'Setup' manually."The mesh translation to Fluent failed due to conflicting zone names." or "Error: Update failed for the Mesh component in Fluid Flow (Fluent)." Fix it with Repair Overlapping Name Selection which is available after right-click on the Named Selections tab.
Connect two meshes in ANSYS Meshing - useful if the original geometry is complicatd to handle as single mesh.Meshing in TurboGrid
In its simplest form, a mesh is a collection of list describing coordinates of nodes and its connectivity with neighbouring nodes. Additionally, it may contain material information, name of a zone or domain a node and element belong to.
/BATCH /PREP7 /COM NODE DEFINITIONS
N,10,2.3,-1.7,-13.75 N,11,1.7,-3.0,-13.75 N,12,0.0,2.3,-13.75 N,13,0.5,1.6,-13.75 N,14,1.0,1.0,-13.75
/COM Material properties EX, 1, 2.068000E+08 NUXY, 1, 2.900000E-01 DENS, 1, 7.820000E-06 GXY, 1, 8.015504E+07 ALPX, 1, 1.170000E-05 KXX, 1, 4.500000E+04
R,1,,,,,, ET, 1, 45, 0, 0, 0, 0, 0, 0 TYPE, 1 $ REAL, 1 $ MAT,1 ESYS, 0
EN,10,29,31,53,45,30,32,54,46 EN,11,20,24,23,19,45,53,51,43 EN,12,45,53,51,43,46,54,52,44 EN,13,19,23,22,21,43,51,49,47 EN,14,43,51,49,47,44,52,50,48 EN,15,21,22,9,8,47,49,27,25
CSYS,0 /SOLUTION ANTYPE,0 /COM NODAL DISPLACEMENT RESTRAINTS D,1850,UX,0.,,,,UY,UZ,ROTX,ROTY,ROTZ /COM FACE PRESSURE LOADS SFCUM,PRES,ADD,1,1 ... SFE, 1496, 1, PRES, 0, 1.00000 SFE, 1497, 1, PRES, 0, 1.00000 SFE, 1498, 1, PRES, 0, 1.00000 SFE, 1499, 1, PRES, 0, 1.00000 ... KBC,0 TIME, 1.0000 AUTOTS,OFF NSUBST, 1 ... OUTPR,NSOL ,1 OUTPR,RSOL ,1 OUTPR,ESOL ,1 OUTPR,NLOAD ,1 OUTPR,VENG ,1 ... SOLVE FINISH
Example of mesh for a square block
Example of 2D mesh shown below can be located here. This file can be opened in ParaView by selecting "All File (*)" for "File of Type" field. Select "FLUENT Case Reader" when prompted. ParaView shall give following warnings - clic Apply to open the mesh.
Warning: In C:\bbd\ecd3383f\ build\ superbuild\ paraview\src\ VTK\IO\ Geometry\ vtkFLUENTReader.cxx, line 423 vtkFLUENTReader (0000021A2224D7E0): Unable to open dat file.
Example of 3D mesh shown below can be located here.
Here are the ANSYS Input File and Abaqus Data File for the geometry / mesh described above.
(10 (zone-id first-index last-index type ND)( x1 y1 z1 x2 y2 z2 . . xn yn zn ))If 'zone-id' = 0, it provides the total number of nodes in the grid. In such a case: 'first-index' = 1, 'last-index' = total number of nodes in hexadecimal, 'type' is meaningless, 'ND' = dimensionality of the grid. There will be no X-, Y-, Z-coordinates following the statement and the parentheses for the coordinates will be omitted. For example, (10 (0 1 2bd 99 2)). Note hexadecimal system has base value of 16 (analogous to base value of 10 in decimal system) and digits 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F. In decimal systems 358 = 3x10x10 + 5x10 + 8. In hexadecimal system, 2bd = 2x16x16 + 11x16 + 13 = 701. In MS-Excel HEX2DEC function can be used to convert a hexadecimal number into any other base. e.g. HEX2DEC("2bd") = 701. Note, hexadecimal number is represented as string even though it represents a number, due to presence of text character.
element-type | description | nodes/cell | faces/cell |
0 | mixed | - | - |
1 | triangular | 3 | 3 |
2 | tetrahedral | 4 | 4 |
3 | quadrilateral | 4 | 4 |
4 | hexahedral | 8 | 6 |
5 | pyramid | 5 | 5 |
6 | wedge | 6 | 5 |
(0 "Grid:") (0 "Dimensions:") (2 2) (12 (0 1 3 0) ) (13 (0 1 a 0) ) (10 (0 1 8 0 2) ) (12 (7 1 3 1 3) ) (13 (2 1 2 2 2) ( 1 2 1 2 3 4 2 3)) (13 (3 3 5 3 2) ( 5 1 1 0 1 3 2 0 3 6 3 0)) (13 (4 6 8 3 2) ( 7 4 3 0 4 2 2 0 2 8 1 0)) (13 (5 9 9 a 2) ( 8 5 1 0)) (13 (6 a a 24 2)( 6 7 3 0)) (10 (1 1 8 1 2) ( 1.0000e+00 0.0000e+00 1.0000e+00 1.0000e+00 2.0000e+00 0.0000e+00 2.0000e+00 1.0000e+00 0.0000e+00 0.0000e+00 3.0000e+00 0.0000e+00 3.0000e+00 1.0000e+00 0.0000e+00 1.0000e+00))
(0 "Faces:") This is a Header
(13 (0 1 1a 0)) ➔ (13: stands for faces (0, 1: First index of faces, 1a: last index of faces, 0))
(13 (3 1 a 3 0) ( 3 2 6 4 5 0 )(13 stands for faces (3: wall-boundary faces, 1: first index of boundary faces, a: last index of boundary faces, 3, 0))
(3: number of points consisting a face, 2: the first point index, 6: the second point index, 4: the third point index, 5: first volume that face belongs to, 0: second volume index, 0 stands for boundary)
(13 (5 b 1a 2 0)( 2 4 b 1 2 )
(13 stands for faces ( 5: interior faces, b: first index of interior faces, 1a: last index of interior faces, 2, 0))
(2: number of points consist a face, 4: the first point index, b: the second point index, 1: the first volume, 2: second volume)
The Cells Section: (0 "Cells:")
In this section, the total number of cells of the domain are given. The following lines are seen:(0 "Cells:") (12 (0 3 c 0)) (12 (2 5 c 1 2))The first line is a header. In the second line: 12: stands for cells, 3: First Index of Volumes, c: Second Index of Volumes
(0 "Zones:") Header
(45 (2 fluid air)()) ➔ (45 stands for boundary conditions or interior (2: interior, fluid:fluid or solid: in this example 'fluid', fluid: the name is air))
(45 (3 wall front)()) ➔ (45 stands for boundary conditions or interior (3: wall, wall: the name is 'front'))
(45 (5 interior default-interior)()) ➔ (45 stands for zones (5 is interior and describes the volumes)
(0 "Zone Sections") (39 (11 fluid FLUID)()) (39 (12 interior int_GEOM)()) (39 (13 interface INTERFACE_A1)()) (39 (14 interface INTERFACE_A2)()) (39 (15 velocity-inlet INLET)()) (39 (16 wall WALL_BLWR_CASING)()) (39 (17 outlet-vent OUTLET)())
It encodes the mesh information using a simple concept called 'tessellation'. The quality of STL mesh is controlled by Chord Height or Chord Tolerance and Angular Deviation or Angular Tolerance.
Angular tolerance: this the angle between the normals of adjacent triangles. Decreasing the tolerance (which can range to 0 to 1) improves feature capturing.
Chord height: it is the maximum distance from the surface of the original design and the STL mesh. A smaller value improves the facet representation of the actual surfaces.
solid part0 facet normal n1 n2 n3 outer loop vertex x1 y1 z1 vertex x2 y2 z2 vertex x3 y3 z3 endloop endfacet facet normal ... ... endsolid part0 solid part1 ...
"The Decimate Geometry tool allows you to reduce the vertex/face count of a mesh with minimal shape changes." Delete Loose: removes disconnected vertices and edges (optionally faces). Merge by Distance is a useful tool to simplify a mesh by merging the selected vertices that are closer than a specified distance to each other.
Select More/Less: More - Ctrl-Numpad Plus = Expands the selection to the adjacent elements of the selection type. Less - Ctrl-Numpad Minus = Contracts the selection from the adjacent elements of the selection type. Next Active - Shift-Ctrl-Numpad Plus: This uses selection history to select the next vertex, edge, or face based on surrounding topology. Previous Active - Shift-Ctrl-Numpad Minus: Select previous just removes the last selected element. Select Linked: Selects all components that are connected to the current selection.
Grid Fill: similar to Blend or Loft operation. Beautify Faces on selected faces rearranges triangles to obtain more 'balanced' ones (i.e. less long thin triangles that is triangles with lower aspect ratio). Solidify Faces is equivalent to Extrude or Pull operation. Limited Dissolve: Simplifies mesh by dissolving vertices and edges separating flat regions.
Change view to wireframe mode, select entities (say faces) based on similar attributes (area, perimeter, co-planar, normal...). The options for "Select Similar" changes based on selection of vertx, edge or face. All free edges can be selected by selecting one such (free) edge, and then Select: Select Similar: Amount of Faces around an Edge. If needed, these free edges can be sewed by fill operation.
Collapse edges (merge vertices)
Drag the left edge of pane towards right to close the pane which displayes options for tabs Item, Tool and View.
The content on CFDyna.com is being constantly refined and improvised with on-the-job experience, testing, and training. Examples might be simplified to improve insight into the physics and basic understanding. Linked pages, articles, references, and examples are constantly reviewed to reduce errors, but we cannot warrant full correctness of all content.
Template by OS Templates