Post-processing of CFD Results (- Last update on 24-Apr-2023 -)
Post-processing activity includes generation of detailed report with the help of quantitative data, qualitative data, contour plots, vector plots, streamlines, area-average values, mass-average values, pressure coefficient, lift coefficient, centre of pressure.
One of the commonly used term in post-processing and visualization technique is 'rendering'. This refers to the process of converting underlying mathematical representation of solid geometry into visual forms.
The screen is represented by a 2D array of locations called pixels. One of 2N intensities or colors are associated with each pixel, where N is the number of bits per pixel. Greyscale typically has one byte per pixel, for 28 = 256 intensities. Color often requires 1 byte per channel, with 3 color channels per pixel: red, green, and blue. An "image map" or 'bitmap' or "frame buffer" is a array or variable to store color data. Z-buffer is the element of the computer hardware/software that is expected to manage the depth of the image (in the z-direction - into the plane of the screen).The important of visual data is summarized in image below. Look at the comparative statistics of information retained by people: 80% in case of visual information, 20% of reading and just 10% of information reaching through ears.
Excerpts from ParaView tutorial manual: "the process of visualization is taking raw data and converting it to a form that is viewable and understandable to humans. This allows us to get a better cognitive understanding of our data. Scientific visualization is specifically concerned with the type of data that has a well defined representation in 2D or 3D space. Data that comes from simulation meshes and scanner data is well suited for this type of analysis. There are 3 basic steps to visualizing your data: reading, filtering and rendering. First, your data must be read into ParaView. Next, you may apply any number of filters that process the data to generate, extract or derive features from the data. Finally, a viewable image is rendered from the data."
STAR --- The output shows maximum temperature limited to 5000 in 3468 no. of cells... These messages very often indicate a problem with mesh or unreasonably high heat flux. Check the quality of it before running: Right click on your Region ---> Remove Invalid Cells ---> Preview ---> The boxes should indicate 0 problem cells found for a good mesh. Additionally, visualize where this (unrealistic) minimum or maximum temperature is taking place by making a threshold: Representations ---> Expand Volume Mesh ---> Right click on Cell Sets ---> Threshold). Create a lower threshold for unreasonable low temperature and higher threshold for unreasonably high temperatures. Note that temperature thresholds are ALWAYS in Kelvin no matter how solution units are set. In FLUENT one can try turning secondary gradient OFF.
Checklist for Simulation Result
|01||Has the overall mass imbalance of ≤ 0.01% achieved?|
|02||Do the velocity and pressure profiles at inlets and outlets been checked for uniformity?|
|03||Has the pressure drop reported for porous domains been checked with expected value as per P-Q curve?|
|04||Has the contour plot been set as banded instead of continously coloured?|
|05||Has the precision of labels (number of decimal places) set as per the range of data on legend?|
|06||Has the format of number labels on legend set as per magnitude of values: float, decimal or exponential?|
|07||Has the material properties at inlets and outlets checked to be closed to expected and/or specified values?|
In the pipe flow example above, for calculation of temperature at the planes shown by dashed lines, area-weighted option may not give the correct result as it is a function of mesh size near wall. In the example below, area-weighted average velocity at inlet and the two outlets will not be in the ratio of flow areas even though flow is assumed incompressible. This is because of the error in integration or summation due to sharp gradient of velocity in the boundary layer and mesh may not be fine enough to capture it. Also note that the narrower sections have 4 boundary layers as compared to 2 boundary laters in inlet section.
Area-weighted average pressure in a fully-developed turbulent flow exit:
Mass-weighted average pressure in a fully-developed turbulent flow exit:
Example calculations: let's assume a 5x5 grid with total area of 70 [cm2]. The assumed distribution of velocity, temperature and density for each cell is also described.
For this sample grid, the average velocity is 1.550 [m/s], the area-weighted average velocity = 2.171 [m/s], mass-weighted average velocity = 3.251 [m/s], average temperature = 37.7 [°C], area-averaged temperature = 32.9 [°c] and mass-weighted average temperature = 27.8 [°C]
There are few post-processing operations which require not only a good insight into the flow physics but experience as well. For example, the estimation of separation length (the reattachment point) needs careful evaluation. There are many methods, one recommended method can be generation of y+ plot. By virtue of re-attachment, the velocity necessarily has to go close to zero and hence y+ or shear stress will follow the same variation. The following image represents y+ plot for flow over back-facing step.
Special variables such as Line Integral Convolution Visualization (reference ANSA Training and Brochure Documents):
Note that an STL file is a surface file and cannot represent a volumetric region even if the surface is a closed one. This means that if you cut through it say to generate Iso Clip, you shall get the appearance of edges rather than a solid object. Steps to generate STL surfaces are: Slice or create post-processing surfaces using edges/boundaries of original geometry in SpaceClaim ---> Save as .STL using Options and switch STL output to ASCII format ---> Import the surface in FLUENT Pre-Post as explained earlier.
Surface Groups and Clipped SurfacesSome programs (e.g. CFD-Post) have option to combine boundary surfaces to a named surface group for ease of post-processing. In FLUENT Pre-Post you cannot create a surface group but you can create a single surface for all the walls defining a fluid or solid zone. Then after you can clip the newly created surface based on X-, Y- or Z-coordinates to use say a symmetrical half of the domain.
In ANSYS FLUENT pre-post (V19 or earlier), walls and section planes are diplayed along with partition boundaries. To remove the partition boundaries - try (cxg-stitch-shells). This SCHEME command needs to be used after every new plot operation. Alternatiely, you can try TUI: "define beta yes" followed by "display set duplicate yes".
Flux values are important to check the conservation of mass, momentum and energy. Note that in case there are reverse flows at the outlet, the area-weighted average values of temperature and pressure may signficantly deviate from expected value. In other words, the gain in internal energy of fluid as calculated from [mass flow rate] x [specific heat capacity] x [TEX - TIN] may not be equal to the heat gained by the air through the walls and the heat soures. However, this is more of a data interpolation error on finite cells at the outlet and has less implication on the global energy balance. In case of flows with heat transfer, it is important to set the temperature of fluid entering into the computational domain at the outlets (the reverse flows) close to the expected values to reduce the deviation with respect to thermodynamics energy balance described above.
The discrepancies increases with reduction in mass flow rates such as buoyancy-driven flows. Hence, it is important to move the outlet plane to a location where such reverse flows are not expected.
Probe FunctionSome programs such as ANSYS FLUENT use mouse button click to probe values at an arbitrary point. STAR-CCM+ has a probe function separately defined. In ANSYS FLUENT, when you probe (typically right mouse button) in a contour plot, the output printed in console is the band of the contour plot where the probed location falls. It does not print the coordinates of the location and estimated value at the probe position. In order to print the location and value at the probe position, plot the contour along with the mesh (you can use Scene to combine a mesh and contour plot).
Plot HTC (Heat Transfer Coefficient) in ANSYS FLUENT
Centre of pressure - CofP (which depends on the location of each cell and pressure force acting on it) is not same as coefficient of pressure - Cp (which depends on the total pressure force and a arbitrarily chosen reference area. The center of pressure is the point on a body where the total sum of a pressure field acts, causing a force and no moment about that point.
CofP = ∫(x * P.dA)/∫(P.dA) or discretely as ∑(xi * π *Ai)/∑(π * Ai), Cp = ∫(P dA) / AREFForce-Momentum equation about origin:
For circular, squre or nearly circular channels
For rectangular channels
|01||Have the fluid and solid zones named as per material type say by adding air, ss, al, pl, cr (ceramics)... as suffix?|
|02||Have appropriate prefixes been added to the boundary names as per boundary type: e.g. mf for mass-flow, vi for velocity inlets, po for pressure outlets...|
|03||Has the mesh quality been checked for skewness and aspect ratios (for boundary layers and for freestream elements)?|
|04||Have sliver elements been collapsed? With minimum size ~ 0.05 [mm], elements having area < 0.002 [mm2] or volume 0.0001 [mm3] are unreasonable.|
|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 easy to maintain during solution and post-processing?|
|07||Have the inlet and outlet planes of a porous domain been assigned to separate internal patches?|
|08||Has the basic checks been made: scale of mesh, quality, default interfaces settings (CFX may create unwanted interfaces)?|
|09||Has the density, viscosity and thermal conductivity of fluid been correctly assigned as per operating temperature and pressure?|
|10||Has the auto-save frequency and file name correctly defined? For runs on clusters, specify only file name without full path.|
|11||For transient simulations, have the specific heat capacity and density of solids been correctly assigned?|
|12||Has the relaxation factors for k, ε and turbulent viscosity been reduced to value lower than 1.0 say 0.25 or 0.50?|
|13||Has the convergence criteria been set to low value such as 1e-05 or lesser? Run may stop early if set to higher number such as 1e-3.|
|14||Has the discretization schemes set to first order for initial 500 ~ 1000 iterations? Gradually move to second order.|
|15||Has the monitor points been created for global mass imbalance?|
|16||In FLUENT, have contour plots been created? This helps avoid repeating the process on repeated set-up of different cases.|
|17||Has a monitor for heat transfer through all walls been created? Do not include inlets and outlets.|
|18||Has a interface of porous and fluid domains changed to internal?|
|Step||Description of the Step||Activities Performed||Tool Name|
|01||Prepare the geometry||Rename the parts as per identifier such as applicable boundary condition, material or interface type||ANSYS SpaceClaim, HyperMesh, ANSA|
|02||Inspect geometry||Check for interferences, gaps, proximities and leakages to ensure volumes do not mix and merge||SpaceClaim, HyperMesh, ANSA|
|03||Create named selection or names zones / patches||To apply required mesh setting and boundary conditions - easy to filter and select in subsequent operations||SpaceClaim, HyperMesh, ANSA|
|04||Prepare geometry for pre-processor||Merge volumes, imprint surfaces, share topology (merge overlapping surfaces)||SpaceClaim|
|05||Import the CAD geometry in pre-processor (meshing)||Get boundary mesh and required refinement at curvatures||FLUENT Mesher|
|06||Correct surface mesh for topological and quality issues||Intersections, proximities, leakages, skewed cells, high aspect ratio (sliver elements)||FLUENT Mesher|
|07||Define meshing parameters||Global mesh controls, local mesh controls, boundary layer controls||FLUENT Mesher|
|08||Compute volume||Regenerate volumes for fluid and solid zones, ensure each volume is correctly identified||FLUENT Mesher|
|09||Generate volume mesh||Check quality of volume mesh: skewness (≤ 0.90), orthogonality (≥ 0.10) and aspect ratio (≤ 50)||FLUENT Mesher|
|10||Improve mesh quality||Use mesh improvement tools (move and merge nodes, refine mesh) to meet required target||FLUENT Mesher|
|11||Export mesh into solver format and read into pre-processor||Check the mesh, scale into metric units||FLUENT Pre-Post|
|12||Apply solver settings||Define materials, boundary conditions, turbulence models, relaxation factors||FLUENT Pre-Post|
|13||Identify run-time variables||Define monitor points and planes, section planes for contours, result back-up frequency||FLUENT Pre-Post|
|14||Make runs||Monitor convergence residuals||FLUENT Solver and Cluster|
|15||Post-process result||Create contour plots, vector plots, streamlines, animations||FLUENT Pre-Post, CFD-Post|
|16||Create special plots||Overlap of contour and vectors, Iso-volumes, Import special planes for post-processing, uniformly spaced vectors||FLUENT Pre-Post, CFD-Post|
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 the contents.
Template by OS Templates