Importing pressure loads from a .csv CFD results file

Hi everyone,
I am a student working on a project for an exam.
I have to analyze a portion (a blade) of a compressor blisk.
I am having difficulties importing the pressure loads to perform the load and the modal load analysis.
My Professor gave me the aerodynamic loads calculated from a CFD analysis as a .csv file.
The .csv file have this format: x [m];y [m];z [m];ps [Pa]
He gave me three files: one contains average static pressure, one contains dynamic real pressures, and one contains the dynamic complex pressures.
I understand that PrePoMax only loads the OpenFOAM result. Is there a workaround for putting the CFD results they gave me in the same “format” of OpenFOAM to trick PrePoMax into opening them?

My Professor has never used PrePoMax and can’t help me, but he is very interested in PrePoMax. If I can complete this analysis, he will be pleased to use it for didactic purposes at my university.

Thank you in advance for your help.

Best regards.
Enrico

There’s a new Imported surface traction load that uses text files with the following syntax:

X Y Z Fx Fy Fz

The unit of F is force/area so you would just have to compute the X, Y and Z components. Maybe ParaView with its mapping capabilities and calculator filters could help with that.

Thank you very much. I will try it.
The function is in PrePoMax or ParaView ?

Imported surface traction load is available in PrePoMax (since v2.2.4 dev).

Thank you.
I will also try the workaround of rewriting the CFD results in an openFOAM-like version…

I am trying to use the imported surface traction load. Since the load is normal to the surface, is it necessary to calculate the equivalent force component in x,y, and z?

You can try that but OpenFOAM results have quite specific format.

Yes, that’s what I’ve mentioned before.

The next PrePoMax version (possibly in a month’s time) will support scalar and vector distributed fields.

Currently, surface traction is your best choice. Since the surface traction is a vector load, it needs all three directions.

When I use ANSYS/Workbench to analyze turbine blades, I often do it in the following way. CalculiX should also be able to follow this method approximately.

  1. Transform the solid model used by PrePoMax to the same spatial position as that used in CFD analysis. You can also directly transform the csv file exported by CFD, especially the spatial position of the surface where pressure needs to be applied should be consistent.
  2. Mesh the grid in PrePoMax, and establish the surface node component where pressure needs to be applied, and export the component node number and corresponding coordinate value (which can be extracted in the inp file).
  3. Use the interpolation algorithm to interpolate the pressure value in the csv to the component node where pressure needs to be applied.
  4. Since CalculiX cannot directly apply pressure to the node like ANSYS, it is necessary to calculate the corresponding element face number based on the component node number (which can be calculated by writing a program).
  5. In the *DLOAD card, apply the average pressure value of the nodes that form the element face to the element.

This workflow is already implemented (for the OpenFoam files). Now it will be adjusted to .csv files as well.

1 Like

Hi everyone,
With the help of chatGPT, I created a Python script to transform pressures into forces, which allows the use of the “imported surface traction load” function.
I am still trying to find a way to understand if it works acceptably…
Of course, I think adding in the SW the possibility to accept pressure loads from a .csv file will be a very interesting and useful function.

For analyzing all the pressure (static, dynamic, and complex dynamic), is it correct to proceed by adding the three different loads in a step?