USER element : 1D beam custom implementation

Dear community,

First a big thank to Guido Dhondt for such a beautiful software.

I have been working recently to add a U1 user beam element with standard section.
I ha seen that other user have started to work on this topic, and wanted to augment the current user element abilities.
i know other user are working i this topic, let’s work together: Using a custom user element (UEL)
NB: some IA agent have been used for this. The code has been reviewed, except for the “patch”.

Sources can be found here : GitHub - Raztua/CCX-UB21: CCX 2.23 patch to add UB21 1D ebam elements · GitHub

This patch introduces the UB21 element—a native 2-node 3D Timoshenko/Euler-Bernoulli beam element—along with expanded cross-section definition capabilities via a new *USER BEAM SECTION input syntax.

the following key feature are implemented

  • Native 2-Node 3D Beam (UB21): Full 6 DOFs per node (UXROTZ) supporting Timoshenko shear deformation, nodal offsets, and 3D orientation.

  • *USER BEAM SECTION Syntax: Parametric definitions for standard profiles (RECT, CIRC, PIPE, I, T, CHAN, L) with automatic principal axis rotation for asymmetric sections.

  • Member End Releases (Hinges): Built-in shortcodes (M1, M2, T, ALLM, etc.) or custom bitwise integer masks for individual nodal DOF releases at member ends.

  • Expanded Loading Support: Distributed loads (PX, P1, P2), trapezoidal/triangular loads, partial patch loads, gravity, and centrifugal fields.

  • Analysis Compatibility: Works with *STATIC, *FREQUENCY, *BUCKLE, and *DYNAMIC steps (with optional lumped mass matrices).

  • Enhanced Post-Processing: Standard .frd dataset outputs for cross-section stresses/forces, plus an automatic multi-station span evaluation CSV (ub21_beam_forces.csv).

next steps

  • validation : a validation suite is created, L shape to be improved. abaqus comparison ongoing.
    you can run run_global_verification.py to test on your computer
  • CGX the output are compatible with CGX, however i am unable to activate result on both “faces” of the line elements. please advise.

Thank you for reading,

Pierre

3 Likes

ciao Pierre and ciao everybody

wonderful! Thank you a lot. I’ll be in as soon as possible.

Meanwhile, I did this little tool just for personal using; but you’re very welcome if you will usit and compare it with ccX solutor.

You bypass every prepocessor. You get in from a dxf 2D directly.

Post processor is automatic with python functions and a userful EC3 SLE and SLU .cvs file.

P-delta is included.

Please use this version 16.3.1, is the one operative.

Kind regards

Bruno

Looks a very interesting implementing, do you have compiled for Windows to test it?

Regards

Sergio,

I only have linux on my computer,
So i would be glad if a window user can try it

Regards,

Pierre

I would really like to try it, I have Windows but I can´t compile

indeed, please consider this important feature of modern structural analysis of elastic frames for designing purposes.

1 Like

Hello Dr. Dhont, my little “all-rounder” tool, structDXF, is currently capable of performing P-Delta analysis (including buckling) and checks for serviceability and ultimate limit states (SLS/ULS). I am currently busy with non-destructive testing (NDT) work, but as soon as I have some free time, I will focus on pushover analysis. This python code might prove useful to those developing ccX. Thank you very much for your kind assistance. Best regards, Bruno.

hello Sergio, you need - Python 3.8 or later

  • Required packages:
    • ezdxf
    • numpy
    • matplotlib
    • Pynite
    • openpyxl
    • scipy

Please, let me know because you’re still on w. (??).

Set it free, throw w out of the door and install linux.

Any distro will be fine; the mine is ubuntu 24.04.

Kind Regards

Bruno