Learn how to reshape plumbing geometry to increase performance by using CFD data.
This example uses the cross-flow heat exchanger (HEX) example found in this article . See More on this Topic at the bottom of this article for similar examples of the process, blocks, and general workflow used. It is recommended that you review these first as the write-up below assumes a basic understanding of the processes used.
Comparing the results in Fluent and after just one iteration of reshaping the inlet and outlet piping geometries, the pressure drop on the cold & hot sides decreased by 38% and 20% respectively, while the average heat transfer coefficient inside the heat exchanger core increased by about 34%. A side-by-side comparison of the geometry changes can be seen in Image #1. This was accomplished by importing a velocity point map from CFD results, removing regions of low velocity, and generating new geometry from the truncated field.
Image #1: Comparision of Original (L) and Updated (R) inlet/outlet plumbing geometries. While both outlet geometries had minimal changes, aside from a reduction in flow area both inlet geometries have unique shapes that aid in directing the flow going into the HEX core.
The steps outlined below focus on the Cold Inlet section, the same blocks and methods are utilized for the other plumbing sections. The majority of the blocks used can be seen in Image #2 below.
Image #2: This shows the majority of the blocks used to create the updated Cold Inlet plumbing geometry.
1. Import Scalar Field
Import the CSV file created from our CFD results of the cold fluid only.
Image #3: Import velocity field points of the cold fluid domain.
2. Import Custom Block to generate the initial 'raw' implicit of the updated fluid domain
This step takes the workflow established in the How to use nTopology to help design plumbing domains article and turns it into a custom block (CB). Image #4 below shows this CB with the inputs filled in. This step focuses on inputs 5-7, the Lower Bounds, the Upper Bounds, and the Original Body inputs. The final product of this step (i.e. the CB below) is in Image #5. The resulting implicit body can be used for further CFD analysis and/or generate a new solid plumbing geometry that attaches the HEX core.
Image #4: Imported custom block with inputs filled in.
Image #5: This is a GIF that shows the transformation from the cylindrical shape of the original cold inlet fluid to the updated shape.
Starting with the Lower and Upper bounds in the custom block, right-click on the Lower and Upper Bound inputs to generate variables for those inputs.
In our case, the Upper bound of the Cold Inlet geometry (as well as the Cold Outlet geometry, not explicitly shown) is the Max value of the imported Velocity Field from Step 1. Use the Max block to do this. The block shown at the top of Image #6 below (above the dashed blue line) is how the Max block appears when you bring it into the Notebook, be sure to click the Overload arrow and set the input to Scalar List. From there navigate to the Properties tab of the imported Velocity Field from Step 1, then drag and drop the values into the Max block and finally drag the Max block into the Upper Bounds variable (shown below the blue dotted line in Image #6).
Image #6: Max block and setting the Upper Bound.
The next portion of this step focuses on the Lower Bound and the Original Body inputs.
Since the goal of this first part is to reshape the Cold Inlet plumbing geometry, we need to isolate those points. This substep is different from how we use the Original Body input in the How to use nTopology to help design plumbing domains article, in which we want to reshape the entire velocity field at once.
The points are isolated by having an implicit volume in the region we want to isolate, as seen in Image #7 below. This same implicit is used to help determine the Lower Bound value. Using the Filter Points by Volume block we isolate and view just the velocity points in the inlet section. This allows you to fine-tune a Lower Bound that is applicable to only the inlet portion of the Cold fluid, see Image #8 below. Once a Lower Bound is determined input that value into the Lower Bound variable.
Image #7: Original Body input, used to isolate the points in the custom block.
Image #8: Filter Points by Volume, used to help determine Low Bound Value.
The last part of this step is to clean the Implicit Field generated from this operation. This is done by meshing the output from the CB and then turning it back into an implicit. While this part is not always required it can prevent issues in downstream processes such as slicing. In general, it is good practice to at least view your fields when several complex operations take place. The blocks used to accomplish this task are Mesh from Implicit Body by Voxel and Implicit Body from Mesh. The blocks mentioned previously can be seen on the left-hand side of Image #9 below as well as the subsequent results.
Note: This is a great time to check the Simplify option as we are not using this mesh as an input into our Remesh block and are just creating an implicit from it. Checking this box reduces the total element count thereby reducing overall file size.
Image #9: Shows the blocks used to clean the implicit output from our custom block.
3. Working with the new implicit
Now that we have our cleaned updated fluid domain there are two main avenues we take. One is generating our 'final' solid piping geometry and the second is generating our 'final' fluid domain for further CFD evaluation. At least one Shell operation is required and the rest are achieved with mostly a combination of Boolean Unions, Subtractions, and Intersections. As this step is somewhat specific to the application and can be quite involved, it is not broken down into detail but instead can be viewed in the video below.
That should do it! If you followed the steps above you should now know how to reshape your plumbing geometry to help increase performance.
If you still have questions the support team would be happy to help you.
Download the Example files:
Files include two CSV files (Cold_Velcoity and Hot_Velcoity) as well as the nTopology file shown in the images and video above. All the steps above the section 'Cold CFD Import' are covered in previous training.
Image #10: Shows the sections from the previous training pertaining to this example HEX as well as the starting section, Cold CFD Import, for this support article.
Note: The Meshing steps in the nTopology file above, while still sufficient, are no longer the preferred route. Using the Mesh from Implicit Body by Voxel block into a Remesh block is the preferred route found at the bottom of the nTopology file.