Arbitrary distributed load

Hi,

Is there a way to define arbitrary distributed load in PrePoMax? In some engineering applications, it is necessary to define a pressure load its magnitude depends on the coordinates: x, y, and z. For instance, the hydrodynamic pressure of water on a dam wall can be approximated as follows:
image

In Calculix, it can be defined by using “dload.f” subroutine. However, it needs to build the Calculix from the source. Calculix supports calling DLL of “umat” subroutine. It would also be a good idea for the “dload” subroutine.

PrePoMax has a built-in hydrostatic pressure load that can be used for any load with triangular or trapezoidal distribution (since you specify two points and pressure values for them). But there’s no load with arbitrary/analytical distribution and you would need workarounds like multiple pressure loads applied to surface patches, mapping nodal values as *CLOAD forces or using the dload.f subroutine.

Thanks for your reply.
The problem of the dload.f subroutine is that you have to build Calculix from the source. As it has several dependencies, it will be a cumbersome task in Windows.

Mapping nodal values as *CLOAD forces needs some FE calculations.

Yes, this is the last resort. The easiest workaround is with surface partitions. But at least there’s a hydrostatic pressure load in PrePoMax - CalculiX itself doesn’t have it.

I could call the “dload” subroutine from a DLL file. The details can be found in the following link:

Here is an example:

It can be useful to define analytical load distributions.

2 Likes

Here is the Calculix-2.21-Win64 built with a feature to call “dload” subroutine from a shared library:

CalculiX-2.21-Win64-with-external-dload.zip (4.6 MB)

1 Like