Centrifugal Load in a Rotating Disk


I am a new prepomax user who is running simple anaysis with this wonderfull software for just a week. Thanks to the developers for sharing this great opportunity with us.

I created a 2d rotating turbine disk model in gmsh and imported to the prepomax, as shown below. Green part represents blades and grey part shows disk. This is a model with results provided in the literature.

When I apply centrifugal load by using user interface, rotation is defined around Z axis. Results do not look like a stress distribution of a disk. I added the final input command line below:

** Name: Centrifugal_Load-1
full, CENTRIF, 2467401.1, 0, 0, 0, 0, 0, 1

Calculix documentation says axisymmetric elements are defined around Y axis. When I defined cetrifugal load through keyword editor, results are as expected. I also ccompared the results with literature data. You can see the stress distribution below:

Is there a way to define this load accurately via user interface? It does not allow me to change rotation axis to Y.

My other question is about the blades. Blades are not axisymmetric. It is better to define them with plane stress elements. In fact, calculix allows using plane stress and axisymmetric elements simultaneously. This is a very common application in 2D analysis, since not all regions of a part are fully axisymmetric. I tried to import an external model, but perpomax changes element types to CAX8 automatically. Is there a way to go around this limiation in prepomax?

It would be greate if user interface allows using axisymmetric and plane elements simultaneousy (at least importing them). All in all, this is a very greate FE software and I really appreciate the effort during the creation of it.

Thanks for any comments and help.

Indeed, those seem to be the current limitations of the PrePoMax GUI. Especially the first one deserves taking a closer look at (the second one is quite a specific use case). In 3D, PrePoMax takes the rotation center coordinates and rotation axis components as inputs for centrifugal load but in 2D it’s assumed that the axis is fixed and only the center point (defined with 2 coordinates) is needed.

I see there is a bug in exporting the centrifugal load to the inp file (I changed the category to Bug Reports). As far as I understand, the only possible axis of rotation is Y for the axisymmetric case. In the same sense, I think the rotation point definition is unnecessary since it should be on the Y axis. So a point 0, 0 should work for all cases. Am I wrong?

I am unfamiliar with the combination of the “axisymmetric” stress state and “plane stress” stress state in praxis. That is why I thought combining them is applied very rarely, and I did not support it. There are also additional requirements for the axisymmetric geometries (like modelling on the positive X axis), which are not required for the plane stress analysis. Since there are some geometry checks for that, I decided not to support a mixed model.

Is there some example (text, theory, book) that I could look into to see when a mixed model is useful and how it works to better understand it?

Right, there will be only one possible rotation axis in axisymmetric models.

Such a mixed case (axisymmetric + plane stress elements) is described in the CalculiX 2.21 User’s Manual, on page 117. It’s discussed on an example of a disk with holes but unfortunately, no file is provided.


I provided an example which is performed by one of my former colleauges, for the same turbine disk example.

This kind of modelling is very common in turbomachinery industry. In fact, it is nearly a standard application. Holes, blades, vanes, frames…all non-axisymmetric features are modelled with plane stress elements or orthotropic materials.

The reason why I bring up this topic is, the software is already capable of performing such analysis. With couple of modification, it will have almost the full capability of commercial ones. There were two limitations I noticed at first glance: mixed element types and imported temperatures. The second one can be handled with keyword editor. Imported temperature is already requested in the forum. But, I think mixed element capability would be also a great capability for future versions.

For example, while starting an analysis, Ansys make you select between 2D and 3D. Then you can select element types via a drop-down menu for each geometry, in a similar fashion of prepomax. An as you said, the modell must be in positive X-Y plane with rotation axis Y.

Again, I know this is a open source software and it is not an easy or feasible job to follow all request. I am just sharing my comments with the hope of helping.

Thanks for the all replies.

Thank you both for the examples. I will look into them and try to understand this concept.

If it is a simple fix, like enabling other element types in an Axisymmetric analysis, this is a very small update to the code. So I will test it out.

Import of temperature? From where should the temperature be imported?

As a side note, Abaqus (on which CalculiX is based) doesn’t allow such axisymmetric + plane stress models so this quasi-axisymmetric approach is not possible there. Instead, there are some special element types like axisymmetric elements with twist, axisymmetric elements with asymmetric deformation and cylindrical elements (3D but meant for circular structures that can be subjected to any non-axisymmetric load).

I am not familiar with Abaqus, but Calculix has this capability. Below, plane stress part does not carry tangential stress. Only the axisymmetric elements should have stifness in this direction.

<<<<< Import of temperature? From where should the temperature be imported? >>>>>

Generally, you will have a 2D or 3D map of temperature distribution data as a result of a thermal or CFD analysis exported in the form of “x, y, z, T”. As I said, I am not familiar with Abaqus but Ansys has the capability of the thermal data coming in the form of “x, y, z, T” on the nodes of the structural model. Even further, it can extrude or revolve a 2D temperature data into 3D mesh.

In fact, you can see the same application in the main page of the Calculix.
Probably, they are also using similar tools since it is very common in turbomachinery industry. They have also provided an interpolation tool for interpolating results between meshes, in the same website.

Below, you can see an example from youtube, explaining the same application in Ansys:

I know this is an advance feature and it can be handled by keyword editors etc. But, quassi axisymmetric would be a great improvement.

PrePoMax already has a built-in feature to apply a pressure field from a OpenFOAM analysis results (one mesh) to a FEM mes (second mesh). So interpolation capabilities between the meshes are already built in. So we would only need to add support for reading data in a format (x, y, z, T) if this is some format you can get from other software (an already defined format would be preferred). The question is how to interpolate the temperature for an arbitrary point from the temperature field defined on a cloud of points. The closest point could method work, but there are probably better ways. If the temperature results are from another CalculiX analysis, they could be read (together with the first mesh) directly from the .frd result files which would simplify the interpolation.

Thermal results can be imported in the form of “.csv”. Most of the analysis softwares have macros or other tools to export results in this type. Csv can be used to communicate between softwares.

Interpolation is a little bit tricky topic. There is no %100 guaranteed way. Closest node can be a good start. Maybe more advanced method is to allow user to select a distance of interest and max nodes to interpolate. Then a distance based averaging can be applied within a specified number of nodes within a specified distance rage. In Ansys, there are also similar algorithms and generally number of trial errors needed to achieve a good mapping. And at the end, you can visually compare the source and interpolated values.

I am changing how the interface for the Centrifugal load will look like. For the axisymmetric case, the user only needs to input the magnitude of the rotational speed.

For the other 2D cases, I will change the interface so that all three centre point coordinates and all three normal directions can be entered, as is the case for the 3D cases. Since the rotation axis can be at least in two useful positions: in the 2D plane and normal to the 2D plane.

I have now updated the centrifugal load UI and added support for using a mixed axisymmetric model. In order to use it, one must first create the 2D axisymmetric model, then change the element type for the parts that must be plane stress and accordingly define the section card to account for the thickness.

The developer version can be found at: https://prepomax.fs.um.si/Files/Downloads/PrePoMax%20v1.4.1%20dev.zip

Please give it a try and report if it works as expected. I found that using the 3D output of such mixed files works if all element types are axisymmetric or all element types are plane stress. Strange thicknesses are obtained visually if a mix of element types is used. I did not compare the results to analytical ones, so I do not know if only the visualization is off.

Hello Matej,

Thanks for the quick action. I checked the new UI. I also modelled the same system in Ansys. You can see the comparison of Prepomax and Ansys below. Results are nearly identical.

However, as far as I noticed, althoug it allows selection of plane stress elements by UI, when we save and reopen an axisymmetric model, all element types return back to CAX…

1 Like

Welcome furkan,

What a smart approach!!! Thanks for sharing and bringing this to the forum. I remember that years ago a user asked about this possibility at ccx forum but at that time I could not imagine how could that be possible, I have to admit that it has kept me awake for several days until I have visualized the equivalent model.
I have been able to reproduce your results with some small difference probably due to the undefined BC.
Let me ask you a question, ¿do you think it is worth to compute K as K=K(r) and assign to the plane elements a more particularized t=t(r) ? I say this because of the peculiar shape of the slots.

Once again, thanks for sharing.


Yes, it will be more accurate to match the CoG of the slots and apply cetrifugal force precisely. In fact, Ansys also allows mapping variable thickness for more complex geometries similar to the temperature I explained in messages above.

Thanks for figuring that out. I will take a look at what is happening.

I have fixed the saving and opening of the mixed axisymmetric models. The fix will be available in the next release version of the PrePoMax.

The feature to import the temperature field is still missing, but it was talked about elsewhere.

I am closing this topic since the bug was fixed.

1 Like