CFD Online Discussion Forums

CFD Online Discussion Forums (
-   CFX (
-   -   Measuring Arc Length in CFD-Post (

Josh April 21, 2010 16:27

Measuring Arc Length in CFD-Post
Hi all -

I'm trying to compare various data of a turbine blade simulation to some experimental results found here:

Here's my geometry:

In his velocity and pressure coefficient distribution graphs, his x-axis is non-dimensionalized as s/s0, where s is the surface distance and s0 is the total surface length (arc length). Thus, I need to plot my pressure and velocity values against the s/s0 axis, as well.

I've created one polyline each for the suction and pressure surfaces of my blade. Using the built-in chart function, I created graphs and exported the y-axis values (velocity and pressure) and x-axis values (which, for lack of a better alternative, I specified as Chart Count). I obtained graphs, though I have a feeling that Chart Count is a poor method for comparing results, as I think it may depend on node distances, and my node distances differ along the surface. Here is a pressure graph:

As you can see, it appears as though the leading edge and trailing edge regions should be "squished" closer to the sides. I quadrupled the mesh density and ran the simulations again (the "refined" values). Here's the velocity graph:

Those jumps at the sides are expected for the CFD results, as there are measurements along the blunt leading edge and trailing edge that weren't taken into consideration in the experimental results (where the velocity is highly accelerating or decelerating). However, they should be lesser in x-wise extent. That is, they should be squished to the sides, and the data after the jumps should correlate with the velocity curves pretty closely. I believe Chart Count is equally spacing the points, despite that my node distribution along the leading edge and trailing edge is much tighter.

I know in the Turbo Plots, there is a variable called, "Streamwise (0-1)" that is normalized so that it ranges from 0 at the leading edge to 1 at the trailing edge and follows the surface geometry. However, I don't want to use the Turbo Plots.

I considered writing an expression with LengthInt along the polylines to obtain the s values with respect to a 0-1 range. Is this the right idea?

Josh April 21, 2010 21:22

I'm thinking that the easiest way to do this may be to export the Cp values (and (x, y) coordinates) in a .csv file, then manually integrate the coordinate values to obtain "s" in Excel.

Unless there's an easier way in Post?

ghorrocks April 21, 2010 22:39


I considered writing an expression with LengthInt along the polylines to obtain the s values with respect to a 0-1 range.
Sounds like a good approach. I don't use CFD-Post for general graphing so I don't have much experience in what you are talking about. So I guess as a sanity check you can always export it and look at it in another package as a check.

Josh April 21, 2010 23:28

Thanks for the reply, Glenn.

After playing with LengthInt, I realized it's going to be a pain to manually calculate the pressure coefficient at each s value along the surface. I'm sure there is a way in Post to program a loop to automatically calculate Cp and s at every i'th interval along the surface, though I'm unsure how.

Here's my current method:
I'm exporting the surface polyline data (for each point, X, Y, and Cp are recorded) into a .csv file.
I'm having a friend write a Fortran code to integrate the X and Y values to return the s values.
I calculated the s0 (total arc length of the airfoil surface) using the function calculator.
I am dividing my s values by s0 in Excel to non-dimensionalize them.

If there is a simpler way in Post or elsewhere to write a graph of values (e.g. velocity, Cp) along a curve in terms of the non-dimensional curvature (s/s0, in my case), I'd be grateful to hear it.

ghorrocks April 22, 2010 07:06

I think what you are doing is the way to go. But I don't know why you don't get the fortran routine to calculate everything. Do it all at once, it is much easier.

All times are GMT -4. The time now is 10:42.