Plotting Cross-Sectional Averaged Values: Part 1 – CFD-Post

When analyzing complex 3D flow, it’s often helpful to visualize data using simple 1D plots.  One of the most commonly requested plots is to be able to show how the flow is changing on average as you progress from inlet to outlet.  While there is a native feature in Ansys Fluent to calculate circumferential averages on boundaries and plot them with respect to the axial direction (for reference, the TUI command /plot circum-avg-axial), for volumetric data this process needs to be done in one of the dedicated post-processing tools: CFD-Post or EnSight.  This blog will show various methods to create cross-sectional average plots within each tool as well as discuss some of the pros and cons of each method.

Part 1 focuses on the two methods available in CFD-Post.

Method 1: Turbo Mode

Application: Ansys CFD-Post

Pro: Easiest method to enable and customize

Con: Limited to axially-aligned geometry

CFD-Post has a suite of turbomachinery focused post-processing tools called Turbo Mode.  However, it is not limited to just turbomachinery models.  To utilize Turbo Mode, you simply have to identify a hub, shroud, inlet, and outlet.  If those items exist as part of your geometry, you can just specify them directly, but if not you can identify them using a series of Lines.  For example, you can create a hub line along the axis of your model, a shroud line around the outer diameter, and then inlet and outlet lines to connect the two.

Note that for the purposes of calculating average data the lines do not have to follow the exact contour of the geometry.

Once this is done, within Turbo Mode you can identify the global rotation axis (the axis perpendicular to your cross-section), specify the Lines that were just created, and Initialize.  This will create a 2D grid defining the revolved region for the calculations.

Now that the region has been identified, you can use the Inlet to Outlet chart to plot area-weight or mass-flow-weighted values versus progress from inlet to outlet.

Method 2: Scripting a Session File

Application: Ansys CFD-Post

Pro: Direct control over process, allowing for complex flow paths

Con: Requires knowledge of CFX Command Language and Perl

The most direct way of getting cross-sectional averaged values along a flow path is to create a location that defines the cross-section, calculate the averaged value at that location, and then script the progression of the location from inlet to outlet.  In CFD-Post, this scripting is done using Sessions.

First, a location needs to be created: typically a simple plane, but if the flow path is complex then a bounded plane defined by point and normal.

Then, an Expression needs to be created that calculates the appropriate type of average on the plane, such as area-weighted or mass-flow-weighted.

To start the scripting process, you will need the code to modify the plane location.  This can be generated by starting a new Session, starting Recording, editing the plane location, and then stopping the Recording.  This creates a CSE file in your working directory.

The CSE file can then be modified with Perl commands to loop over the flow path from inlet to outlet and save the calculated Expression value to a file.  Once that is done, the modified Session file can then be played back in CFD-Post to perform the calculations.

An example of this script can be obtained by e-mailing support@drd.com

Simplify Setup of Bucket Conveyor Models in Ansys Rocky Using Expressions

Bucket conveyor models in Ansys Rocky use somewhat complex motion definitions to define the motion up the grain leg, around the head pulley, down the grain leg, and finally around the tail pulley. It is common to know the RPM of the driven pulley, so defining the motion based on this parameter is very convenient. In this post, we will demonstrate the use of expressions in Ansys Rocky to do just that. 

When setting up a bucket elevator simulation, import only a single bucket. The bucket’s mounting location should be even with the center of the tail pulley. The geometry will be replicated using the “Replicate Geometry” feature.

Next, insert a motion frame, connect the motion frame to the bucket geometry, and via the tools menu enable Expressions/Variables. The image below details the initial position of the bucket geometry and the relevant motions that must be defined. Note that based on the initial position of the bucket, there will need to be four sequential motions defined for the motion frame. These are Translation 1, Rotation 1, Translation 2, and finally Rotation 2.

 

These motions will be defined based on start and stop times for a given motion as well as the relevant velocity. This leads to the relevance of expressions to define the time required to perform each motion as well as the velocity based on the relevant known parameters. It is important to also note that the motion frame does not need to be in contact with the object that it is tied to. In this case it is beneficial to locate the motion frame at the center of the tail pulley. This location will make it easier to define the rotation motions.

Take the first translation as an example. The motion will start at t=0 and the bucket must traverse the distance equivalent to the center to center distance between the two pulleys, which is known to be 182.6 inches. Using the known head pulley diameter and rotational speed of 65 RPM, the linear velocity of the belt can be determined using Pi * Diam * PulleyRPM/60 as shown below.

 

The other required input for Translation 1 is to compute the length of time it will take the bucket to traverse the first straight section of belt. This can be computed via dividing the straight length of belt by the belt speed as shown below.

 

To setup Translation 1 in the motion frame, add a translation motion with a “Stop Time” equal to “StraightTime” and a velocity of “BeltSpeed” in the appropriate direction.

 

Note that it is important to add units to these inputs. [s] for StraightTime and [in/s] for BeltSpeed.

The next motion will require a few additional expressions. First, we will define the time to complete a semicircular rotation around the head pulley. Knowing the RPM of the pulley and that the desired motion is half of a revolution, the formula to compute the time of half a rotation simplifies to RotTime = 30/PulleyRPM. Finally, we need to determine the angular velocity. This can be computed as AngVel = -180/RotTime [dega/s]. This can be entered directly into the motions panel, or can be added as an additional Variable.

The Start and Stop Times can be defined using the StraightTime and RotTime variables already defined. The Start Time for this motion is after the end of the initial translation, therefore the start time is equal to “StraightTime.” The Stop Time is the duration of the translation and the impending rotation, so is equivalent to “StraightTime+RotTime.” The Initial Angular Velocity field is filled using the angular velocity calculation noted above.

 

The remaining translation and rotation motions can be defined using the same approach.

Following the remaining motion setup, the final step is to include replication of the bucket geometry. Navigating to the bucket geometry, set the Motion Frame to the frame just created and proceed to the Replication tab. Enter the number of buckets you will need and enter the replication period. The replication period is the length of time needed to complete one full loop around the conveyor. In this case it is equivalent to “2*StraightTime + 2*RotTime.”

 

Note that the Expressions section of the Expressions/Variables panel is a list of where expressions or variables have been used in the model.

 

 

While this article explains the setup of a bucket elevator, expressions are quite valuable for other Rocky simulations as well. When calculation is needed to convert between a key value and the inputs needed to implement that change in Rocky, expressions and aid in accuracy and speed of running multiple test cases. For this example, it is trivial to run the model at different head pulley speeds as only the PulleyRPM variable needs to be modified.

Check out our website for other tips, tricks, and Ansys content.

 

 

Software Simulation vs. Traditional Prototyping: Accelerating Product Development with Risk-Free Testing

 

Introduction

In the ever-evolving world of product development for all kinds of industries including aviation, automotive, manufacturing, and healthcare, engineers face many challenges while developing a final product that meets requirements. Both physical prototyping and software simulation help engineers model and analyze different systems, processes, and products. Understanding the differences between these two methods becomes crucial for developing products on-time and on-spec. In this blog, we’ll explore the distinctions between traditional prototyping and software simulation to help you choose the right path for your project.

Physical Prototyping

The setup and integrations required for physical prototyping consists of having design software, materials, test equipment and techniques, and quality assurance. The materials will vary depending on the nature of the project but can include raw materials, electronic components, or mechanical parts. Having the proper equipment also requires the right safety equipment to ensure a safe working environment.

 

Software Simulation

The setup and integrations required for software simulations depend on a few common elements and considerations. Hardware must be capable of running the simulation software with sufficient processing power and memory, and software should be selected based on specific features for your simulation. Lastly, training and support materials for users and developers are helpful for long-term success.

Both software simulation and physical prototyping have a place in the product development cycle. These two approaches serve different but complementary purposes within the product development process. Engineers must determine how much physical testing can be avoided through the use of software simulation during product development.  With the understanding of cost, time, and product requirements, they can choose the best path to ensure that the final product meets the desired specifications and quality standards.

Cost Considerations Drive Decisions

Software simulation may result in a higher initial investment in terms of software and training. These upfront costs are associated with developing or implementing a simulation software system for a specific purpose. Many simulation products come with licensing or subscription fees that can be one-time, monthly, or an annual renewal cost. However, software simulations generally have a lower long-term cost and reduce the need for physical materials, machinery, and labor that are necessary for physical testing. For applications where upfront cost is the absolute deciding factor, physical prototyping can be the right solution. For organizations looking to invest in their product development cycle, simulation provides a long-term solution that can be used repeatedly as you modify and evolve a product or create new products.

Speed

Time to market is a critical factor for many projects across all industries. It is based on the scope and complexity of the project, the team’s experience with software, and access to all resources required to complete the project. Simulation provides a digital platform that invites collaboration for sharing, analyzing, and discussions. It is more accessible to work collaboratively across distances saving time than requiring physical presence, which can create logistical challenges.

Risk assessments are paramount in product development. Simulation can help identify potential risks and issues early in the process, saving time and resources. The common risks and challenges associated with simulation varies from the quality of data input, the possibility of bugs or limitations in software tools to produce inaccurate results, and ensuring the model accurately fits the real-world representation. When time is not a critical factor for projects, physical prototyping is often used in product development. One would have the ability to physically interact with the product quickly, giving you a real-world sense of its form, function, and usability. Simulation abates the need for physical components – when supply chain constraints are an issue, engineers using simulation can begin testing based on the software-defined version of their product rather than having to wait for physical prototypes.

 

End Product Variables

Building physical prototypes can be expensive if numerous iterations are required.  Several types of products and industries often involve more than one iteration due to the complexity and need for optimization. In the electronics industry, products like smartphones and laptops undergo frequent iteration to incorporate the latest improvement and enhance user experience. In the Aerospace industry, complex systems like aircraft and satellites require extensive iterations to meet the strict guidelines. Car manufacturers and development of medical devices to name a few more.

Software simulation allows for rapid testing and iterations as many changes can be made virtually with a few clicks. This allows for quick changes and adjustments without the need to rebuild physical models. The flexibility to develop multiple iterations saves both time and resources. In contrast, physical prototyping may require more time and resources through each iteration. While physical prototyping for real-world testing is a crucial phase in product development, ideally it would be limited due to the time and costs involved. In addition, during real-world testing, unexpected issues or challenges can arise that are native only to the test environment.

Nelson Global harnessed the power of software simulation in this real-world example to optimize their muffler designs for refrigerated transport vehicles. By leveraging simulation, Nelson Global significantly reduced development time and costs, all while enhancing efficiency, reducing emissions, and meeting regulatory requirements. Nelson Global used the Ansys software suite to design two mufflers within three days. The typical duration for physical prototyping would be weeks involving manual hand calculations with less of an accurate outcome. 

In the end, both software simulation and physical prototyping have their places in product development. For many, a combination of both approaches can be the most effective solution. Starting with software simulation for the initial design and risk assessment, and then transitioning to physical prototyping for real-world testing. The right approach is the one that will align with your project’s requirements. 

The combination of Ansys, a globally recognized simulation tool, and DRD Technology, an integrator for Ansys tools, offer a comprehensive approach to product design and optimization. Ansys provides a suite of engineering simulation software tools that are widely used in various industries to simulate real-world scenarios. Ansys software simulation includes but is not limited to structures, fluid dynamics, electromagnetics, optical simulation, acoustic, and thermal analysis. These tools can be used in a wide range of industries including aerospace, automotive, electronics, manufacturing, and many more. Ansys Elite Channel Partner, DRD Technology, has achieved the highest level of proficiency and met rigorous performance requirements with the Ansys platform so that we can help you design, simulate, and succeed.

 

To learn more, read the full case study documenting how Nelson Global took their prototyping process from weeks to just three days using simulation.

Working with Faceted Geometry in Ansys Fluent Meshing

Faceted geometry comes in several different formats with OBJ, PLY, and STL being commonly used.  Some simulation tools require solid geometry before importing.  Fortunately, Fluent Meshing is designed to work with surface models. These faceted file formats are often the standard when working with 3D scanned geometry in the medical community and in the field of additive manufacturing. Faceted geometry approximates a geometric shape by representing it as a triangular surface mesh rather than using a solid body representation. Many commercial CAD and CAE packages do not natively represent geometry using facets but use a technique called Constructive Solid Geometry (CSG) to represent geometry which is the process of combining simple shapes using Boolean operations to create more complex shapes. One of the issues when working with faceted geometry is CSG-based CAD and CAE programs are not well equipped to convert the surface mesh associated with faceted geometry into a solid, and it can be a time-consuming process to do so.

Fluent Meshing (a feature in Ansys CFD licenses) can work directly with faceted or solid geometry. The user will need to use Ansys Discovery to convert the faceted geometry file (OBJ, PLY, STL, etc.) into a TFG (Fluent-Meshing faceted geometry) before reading into Fluent Meshing. See below:

All the named selections and geometry preparation that was done on the faceted geometry in Ansys Discovery will be preserved in Fluent Meshing when reading in the TGF. The user can then use some of the mesh diagnostic tools in the Outline View to evaluate the quality and check for connectivity issues if needed. There are automatic operations that can be used to improve the quality of the mesh as required. See below:

The user can generate the volume mesh in the Outline View or use one of the more user-friendly task-based workflows such as Fluent Watertight Workflow. The task-based workflows do not yet support TGF geometry import, so the user will need to write out a .msh.h5 in Fluent Meshing before reading into the workflow. See below:

It is business as usual with the faceted geometry loaded into the import geometry task of the workflow. The user will start from the top and work their way down in the task-based workflow until a volume mesh is generated.

Some engineering tools require that geometry be represented as a solid, and it can be challenging to convert faceted geometry into a solid in many cases. Fluent Meshing is designed to work with surface models so faceted geometry does not need to be converted into solid before import. This can be a quality-of-life improvement when working with surface representations of solid bodies in Ansys CFD products.

Automation in Ansys EnSight

Computational Engineering International, Inc. (CEI) originally developed a suite of products that included EnSight and was acquired by Ansys in 2017. EnSight is a market leading post-processor for Computational Fluid Dynamics (CFD) with multiphysics visualization capabilities. It is easy to use with a modern interface that has transient capabilities and can efficiently handle very large data sets, which are common in CFD simulations, especially transient ones.

EnSight has continued to improve their Python integration over the years and continues to lead in automation capabilities for the world of CFD post processing. Any action that takes place in EnSight is recorded in what is referred to as the command language. Whether the action is a zoom, translate, or rotate of the camera, or the creation of post processing objects like a clip plane, vector arrow plot, or contour – the action is saved in the command language. See below Command Panel:

The command language is a comprehensive journaling language in EnSight that contains all the detailed information associated with the operations or actions taken place in the current session. This command language can be converted into a Python script which can be executed using the built-in interpreter. The user will copy the commands to be converted into Python and paste them into a new file.

The actions are more human-readable in Python and allow for logic operations and loops. The user can make changes to the Python script as appropriate and save for use in other EnSight sessions to automate processes, which can be a huge time saver in certain situations. For example, if you need to create several post processing objects in EnSight for a variety of result files for use in a report, you will only need to do it once because you can reuse the commands for all results files.

Check out this YouTube video on automating the creation images of post-processing objects in EnSight using Python.

Utilizing the built-in Python interpreter in EnSight is a great way to automate repetitious post-processing procedures.

Troubleshooting Unphysical Solution Results and Identifying Poor Mesh Elements

Not if, but when you run into CFD convergence issues, it is often due to a poor-quality mesh, an ill-posed problem, or inappropriate solver settings. There are a variety clues that indicate lack of solution convergence such as high residuals, solution monitors that do not make sense, and mass or energy imbalance. When residuals are high or increasing (diverging) it is a good indication that there is unphysical behavior in the solution that is the cause. You will need to identify where this unphysical behavior is occurring in the model so that it can be remedied.

Often reporting minimum and maximum values of the solution variables (velocity, pressure, temperature, etc.) is a good place to start when attempting to identify unphysical behavior. For example, if the maximum flow speed is measuring much higher than you’re expecting, you will want to identify where in the domain this unexpected behavior is occurring. An iso-surface is a good tool to use for identifying the location of odd behavior in the solution field.

You can compute the range of a particular solution variable in the iso-surface panel. If the range is not what you expect or does not make physical sense, it is a good idea to create an iso-surface to identify where the potential unphysical behavior is occurring. You can use the iso-surface in concert with other mesh objects in a scene and take a look at where the unexpected behavior is occurring:

 

In this example the location of high flow speed appears to be unphysical. You will want to interrogate the mesh in that particular region to look for clues – this can be done in the solver or mesher. Everyone is in a hurry to get results and it can be tempting to move forward with a poor-quality mesh in the solver, but you run an increased risk of solution convergence issues in the solver when doing so. It is best to start with a good quality mesh to accelerate solution convergence. Meshing is somewhere between an art and a science, but there are four primary mesh metrics that are used in concert when judging overall mesh quality – orthogonal quality, skewness, aspect ratio, and size change. To avoid mesh-related convergence issues, it is best to keep the minimum orthogonal quality above 0.1, skewness below 0.95, aspect ratio below 100, and size changes below 5.

To inspect the mesh quality inside of Ansys Fluent meshing, open the Display Grid panel from the menu bar, select the specific mesh quality metric to measure, then choose the quality range before hitting the display button. The elements within the specified range will be displayed in the graphics window as shown below:

To inspect the mesh quality in the Ansys Workbench mesher you will display the mesh histogram from within the mesh tab then choose the mesh metric to measure as shown in the figure below.

You can limit the range of the histogram to only contain the poorest quality elements by clicking the control button to access the range controls. From here you can limit the range of the x-axis then hit the reset button adjust the y-axis range. You may also want to consider reducing the number of bars in the histogram as well. Click the bars of the histogram to display the elements of that quality indicated: