In our 2nd part of a series on the Adjoint solver, learn how recent developments have focused solely on improving the usefulness of the Adjoint solver for real-world customer problems - allowing for definition of multiple objectives; expanding to include more physics; and allowing more user control over geometry modifications and constraints.
Engineers are continually under pressure to improve the performance of their products and often look to gain an edge using optimisation techniques - trying to reduce drag, increase lift (or downforce), or reduce pressure drop. Rather than relying on intuition to make geometry changes that are often constrained (using a parametric CAD approach), you can now use the new Adjoint solver to compute localised sensitivity data (related to your objectives) and optimize your design semi-automatically.
Many fluids we encounter in industry do not strain linearly with respect to viscous shear and are thus considered non-Newtonian. This post explores how to model non-Newtonian viscosity of fluids in ANSYS CFD, using blood as an example.
A How-To guide for Fluent Meshing's new Shrink Wrap tool which provides a powerful, easy-to-use solution for meshing complex STL geometries. This is a step-by-step guide on how to produce a high-quality CFD mesh for an abdominal aorta, imported in medium-resolution STL format (NIH).
Flow-generated noise can have significantly adverse effects on our everyday lives. Product designers and engineers at the world’s most innovative and successful companies have recognised this fact, and are increasingly using CFD to incorporate noise mitigation strategies into their product design process.
Our support team is tasked with helping our customers to extract maximum value from their CFD simulations, and we are always striving to help customers who work at the bleeding edge of CFD. A common question is: How can I drive Fluent UDF parameters directly from ANSYS Workbench? The ANSYS Fluent User Defined Function (UDF) framework gives Fluent users an almost unlimited ability to modify the physics solved in their simulation model. Customisation can extend from simple properties such as boundary condition profiles, through to complex particle-fluid interaction laws. The ANSYS Workbench interface provides the infrastructure to specify parameters that can be used to drive any simulation inputs (such as geometric dimensions or boundary condition values). By coupling the functionality of Workbench Parameters with Fluent UDF's, we can realize the ability to perform parametric studies on any parameter imaginable. The process for coupling Workbench Parameters into Fluent UDF's is as follows: In an open Fluent Window; first initialise the scheme variables in Fluent. In the TUI, type the following line: (rp-var-define ‘leap 0.0 ‘real #f) Repeat the above line of code for every variable needed by replacing “leap” with a representative variable name. This name will be used to call the variable in the UDF. In the Fluent window, go to "Define">"Parameters". In the displayed window, go to "More" > "Use In Scheme Procedure". Click the "Select" button next to the Input Parameter box at the top and click “New Parameter” to create a new parameter. Name the parameter with a representative name. This will be the name of the parameter referenced in Workbench. Click OK on the two windows until you get back to the “Use Input Parameter in Scheme Procedure” window. In the Scheme Procedure box, type the following Scheme code: (lambda (param) (rpsetvar ‘leap param)) Click the “Define” button to link the WB parameter to the UDF accessable scheme parameter. Do the same for any subsequent parameters, choosing unique and representative names for each. The parameters are now setup. To access the value in the UDF, use the following function in the source code: RP_Get_Real("leap") Where the argument in the Scheme name of the variable as defined in the rpsetvar command. Now that the associations are properly setup, you can change the value of the parameter in Workbench, causing Fluent to notify that there has been an upstream change. When you click OK, the parameter value will be pushed through to the Scheme variable. After the Scheme variable has been updated, any UDFs will have access to the new value when the RP_Get_Real("leap") function is called. NOTE: For best performance, assign the value returned from the...