The Story Behind the Development of Cradle scSTREAM Moving Object Function
Yuki Kanayama (Software Cradle, Software Engineering Dept.)
With the improvement in computer performance, analysts expect to simulate more complex phenomena. One such analysis is moving objects. Most often, moving objects are analyzed using unstructured mesh software. Cradle's SC/Tetra, unstructured grid CFD software is capable of simulating moving objects. However, Cradle also enhanced the capabilities of the moving object function in their scSTREAM structured mesh software. We interviewed Mr. Kanayama, developer of the scSTREAM moving object function, to learn the story behind this development work.
The Story Behind the Development of Cradle scSTREAM Moving Object Function
Yuki Kanayama, Software Cradle, Software Engineering Dept.
We Wanted to Demonstrate Unprecedented Convenience and Speed of scSTREAM
The moving object function in scSTREAM had been there for some time. However, we always had issues with shape treatment, memory usage, and computation time. When moving objects are analyzed, most people choose to use unstructured mesh software. In fact, we often propose that our customers use our SC/Tetra, unstructured mesh CFD software, to solve their moving object problems. But high calculation loads and long computation times can both be problems when using unstructured mesh software to analyze moving objects.
Analyzing moving objects is a challenging computation. Even if you simply want to translate an object, significant adjustments are usually required to successfully perform the computations. As a result, many less-experienced engineers consider simulating moving objects as advanced analyses and feel it is too difficult for them. We wanted to counter this perception when we developed the moving object function for scSTREAM; we strove to make it very easy to use by only requiring a few simple settings.
In today's Computational Fluid Dynamics (CFD) industry, many products can analyze moving objects. However, most of them are unstructured mesh software, and it's a rarity for structured mesh software, like scSTREAM, to be so capable. The enhanced moving object function in scSTREAM is remarkable. It is a high speed computation, and mesh generation is very easy. As a result, scSTREAM has significantly expanded its breadth of applications.
Figure 1. Agitator
The original moving object function in scSTREAM had some definite limitations. For example, versions of scSTREAM through Version 8 (released in 2009) could not be used with parallel computing. Parallel computing was still in its relative infancy and accommodating the complex calculations associated with moving objects was just too difficult. However, as hardware performance increased, and model size and complexity increased proportionately, harnessing the power of parallel computing to solving moving object applications became more urgent.
Another improvement needed to enhance the value of the moving object function was the inclusion of thermal conductivity at the contact face between moving objects. This also had to be usable with multi-block meshes.
The Importance of User Participation
Two steps were needed to achieve parallel computing of moving objects. The first was to improve the function so it could solve for the flow field. The second was to enhance the function so the heat inside the moving objects could be tracked. The first step was achieved relatively easily. However, enhancing the thermal capabilities proved challenging. scSTREAM is a structured mesh code. However, the mesh inside the moving objects is unstructured. In addition, the finite element method is used for the thermal analysis inside the object while the finite volume method is used to analyze the structured fluid cells around the object. The technical challenge was to develop a new method that could simultaneously consider the mutual thermal interference between the fluid elements and adjacent moving objects in parallel regions. For both processes, parallel computing performance was evaluated using real-world user data. Favorable reviews from the users confirmed that their parallel computing performance expectations were met.
Figure 2. Generation of diffusive species
Successfully implementing parallel computing for moving objects demonstrated we can take advantage of parallel computing to perform large analyses in less time. Next, we focused our attention on the complex problem of developing a function to simultaneously consider mutual thermal interference between moving objects. Again we relied on strong user cooperation. As we moved forward with this work, we realized that the number of moving objects and contact faces were much larger than we expected. At first we thought we might have to develop a completely new function. Fortunately, we were able to identify a solution that satisfied user expectations. This feedback from the user renewed our realization of how critical user feedbacks can be when developing and launching new features and capabilities. Working hand-in-hand with our user base is something Cradle will do more of in the future.
Impact of the Results
Thanks to user participation, feedback, and evaluation, we were confident that, when the function was released, it would be successful and provide substantially increased capabilities for our customers. The parallel computing feature was very successful as it enabled scSTREAM users to reduce the calculation time for some of their most complex problems. In some instances, calculations using scSTREAM was several times faster than similar computations for an unstructured mesh code. For example, a problem that would take a week to reach a converged solution using unstructured mesh could be solved by scSTREAM in a day.
Figure 3. Distribution of wind velocity around stairs in a subway
Versatility of the Moving Object Function
The moving object function is used to analyze fluid flow around moving objects. Moreover, the moving object function in scSTREAM can analyze both translation and rotation of objects. This also includes the combination of translation and rotation, and the calculation of velocity change. This function can be used as part of temperature, diffusive species, and multi-phase flow analyses. It can be used as part of a thermal environment analysis or to calculate the concentration of diffusive species around moving objects. In addition, a powerful capability is the analysis of thermal conductivity inside the moving object, which enables calculating the time varying temperature within the moving objects themselves.
How to Use the Moving Object Function in scSTREAM
- Allocate moving objects
The attribute of the objects must be a finite element model. The object can be created by hexahedron or conical base elements in scSTREAM. If the object is imported as NASTRAN mesh data from an external file, the data can be imported without any changes.
- Generate the mesh
To solve for heat transfer within the moving object, the element material properties must be set to "moving object." The mesh must be generated so that each moving object element contains one or more fluid element points.
- Set boundary conditions
Use the Condition Wizard to set velocity and heat boundary conditions. If diffusive species are part of the calculations, their concentrations must also be specified.
- Continue with regular set-up process
Steps 1-3 must be performed in addition to the regular steps used to solve ordinary thermal fluid problems. The conditions can be set using the Condition Wizard which makes it simple and easy to set moving object conditions.
Using the moving object function in scSTREAM can enhance the realism and complexity of simulations in a low cost and simple manner. In addition, not only can object motion be simulated, but heat transfer between the contact faces of the moving objects and/or species diffusion can also be simulated.
There are instances where it can be difficult to generate a robust unstructured mesh for a moving object application. Meshing methods to simulate moving objects often use mesh stretching and/or overset mesh. If the object moves significantly, the distorted mesh can lead to unstable calculations and convergence difficulties. In contrast, the scSTREAM moving object function does not involve mesh distortion so movement can be simulated more freely. In addition, the structured mesh can be generated very quickly.
While the scSTREAM structured mesh moving object function has many positive features, there are still some restrictions. The time interval between calculation steps must be reasonable so the object doesn't move too far in one time step. If the time interval is too large, this can lead to unstable calculations. Cradle also recommends setting a base pressure point to improve calculation stability.
Figure 4. A forklift enters a refrigerated warehouse.
When scSTREAM Version 11 is released, it will have the ability to include radiation with the moving object function. This will enable analysis of moving objects influenced by thermal radiation such as a reflow furnace.
The moving object function in scSTREAM is purposely designed to be simple for the user to implement so that even less-experienced engineers will find it intuitive and easy to use. A user-friendly set-up Condition Wizard helps collect the necessary input data. As long as reasonable time interval is specified, the calculation can be fast and stable. Cradle continues to improve and enhance the moving object function in scSTREAM. With these advances, more difficult problems can be simulated, and realism and accuracy are improved.
*All product and service names mentioned are registered trademarks or trademarks of their respective companies.
*Contents and specifications of products are as of June 1, 2013 and subject to change without notice. We shall not be held liable for any errors in figures and pictures, or any typographical errors.