Rocky One Way CFD Coupling

Bulk Material handling can frequently involve fluid flow that impacts the behavior of the particulate. Luckily, Rocky couples with Ansys Fluent to enable representation of the fluid flow and the particulate behavior. This coupling can be either one or two-way. One-way coupling solves the fluid flow first and exports the resulting flow field into Rocky. This means that particles within Rocky are affected by the flow, but the flow is not altered by the particles. In addition to a constant flow field, Rocky also supports transient one-way coupling where a time varying flow field can be imported. This can include a periodic repeating transient flow. Two-way coupling, sometimes called co-simulation, is also possible. In this configuration, Fluent and Rocky exchange information back and forth as the solution moves forward in time.   

One common application of coupling Rocky with CFD is to perform density-based separation. One application of density separation is to separate lightweight plastics from a stream of compost. In the example below, an air knife and vacuum system is used to remove the plastic from the denser wood particles.  

The first step in a one-way coupled model like this is to setup and solve the CFD model. This particular application has a low particulate loading, so one-way coupling is appropriate. The setup of this particular model included specification of the air knife and suction outlet flowrates, while specifying pressure boundaries for the clean outlet and compost inlet. Once solved, the developed flow field will be exported to Rocky using the Rocky Export tab at the top of the Fluent interface. Note that the Rocky Export tab is only available after installation of Rocky along with the Rocky coupling module. To perform a one-way export, first select Rocky Export, then Export one way data, and finally export current data to Rocky.


Once this is complete, the next step is to setup the Rocky model as normal, that is leaving the coupling setup to later. This includes importing the geometry, setting up the particle inlets and particles, etc. Finally, proceed to the CFD Coupling entry in the Data panel. In the Data Editors panel, select the appropriate coupling type. For this model, 1-Way > Fluent (Fluid -> Particle) was selected.


Following this selection, Rocky will prompt the user to select the Fluent to Rocky (.f2r) file. This is the header file of the rocky export that was performed from the Fluent interface. Note that the export performed earlier resulted in several files. An .f2r file, two .dat files and several .stl files representing each boundary in the Fluent model. You will always point to the .f2r file when referencing the export in Rocky.


Once the Fluent to Rocky file has been read in, a new entry in the Data panel will appear under the CFD coupling item. Clicking on this item will reveal settings for the one-way coupling.


Common options are to change the drag law applied to different particle shapes. The Rocky CFD Coupling Technical Manual has good advice on appropriate drag models to use. The Coloring tab of the Data Editors panel allows you to visualize the CFD data you have imported as shown below. Be sure to turn off this visualization when you are done as it can impact performance.


Finally, your model is ready to solve like normal. All of the typical postprocessing results you can expect from Rocky are still available to you, only now particles can be affected by the imported airflow. The workflow demonstrated here works well for transient or transient periodic one-way coupling as well. Two-way coupling does not rely on the Rocky Export tab in Fluent. Instead, Rocky will launch Fluent itself once provided the appropriate Case and Data files to start from.

I hope you found this short article useful. Check out our website for other Rocky and Ansys content.


Plotting Cross-Sectional Averaged Values: Part 2 – EnSight

As mentioned in Part 1 of this blog, you reduce complex 3D flows down to cross-sectional averaged values for plotting against the distance along the flow path in either of Ansys’s dedicated post-processing tools: CFD-Post and EnSight.  Part 2 of this blog will focus on the method available in EnSight.

Method 3: Query

Application: Ansys EnSight

Pro: Utilizes EnSight, which can be used for much larger models than is practical with CFD-Post

Con: Defining cross-section location can be very difficult for complex geometry

EnSight’s Query tool has a built-in feature for cycling a location over a range of values, performing a calculation as it progresses, and making a plot of that data.

The first step to use this feature is to create a location that defines the cross-section of your flow path.  For simple geometry this will just be a Clip along a particular direction, but for more complicated flow paths this could involve defining a spline path for a clip to follow.

Next, you will need to create a Variable that calculates the cross-sectional average of the quantity of interest on the clip.  For transported quantities, this should be a mass-flow-weighted average.  Unfortunately, EnSight does not have a direction-independent mass-flow-weighted average function, but one can be built in a few steps.  First, a new variable for mass flux needs to be created.

Then, the weighted average can be calculated on the clip using the SpaMeanWeighted predefined function and the MassFlux variable that was created in the previous step.

To create the plot of the averaged value as the clip progresses along the flow path, create a new Query using Query > Over time/distance, set the Sample to By constant on part sweep, select the variable that was just created, Start, set the range and number of samples, and then Create query.

Note that the plot data can be exported to a file by right-clicking on the query and choosing Data > Save CSV file.

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

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



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.


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.