WISDEM / pyFrame3DD

Python bindings to Frame3DD
Other
29 stars 6 forks source link

[Question] Is there any way I can make my element have a node only at the beginning and at the end? #9

Closed Martin15135215 closed 1 year ago

Martin15135215 commented 1 year ago

The following variable is used to determinate how to split an element into smaller elements:

https://github.com/WISDEM/pyFrame3DD/blob/3d2e1564b6d7e234ef233bb61f9c79c7b05ced28/examples/exB.py#L67

So if I have an element 0 in load case 0 with a length of 100, there will be 6 internal nodes → len(internalForces[0].Nx[0, :]) will be 6

In my use case, however, I only will do calculation for simple truss or space truss, so only point load at the nodes etc.

So all my elements will have a constant internalForces. Therefore, I don't need the step of breaking my elements into smaller elements. How can I disable that?

The goal of that would be to save computational power

Martin15135215 commented 1 year ago

Presently, I changed dx = 20.0 to dx = 10e6 and achieved that my elements are not split. I would be happy to hear your suggestions if there is a better way.

gbarter commented 1 year ago

See the Frame3DD guide in Section 7.13: set dx=-1

Martin15135215 commented 1 year ago

I see, I found it. Thanks!

Frame3DD optionally generates output data files listing the internal axial force, shear forces, torsion, and bending momements and transverse displacements for each frame element. These quantities are tabulated at user-specified increments of length dx along the local x-axis of each frame element. If the x-axis increment, dx, is specified as a value of "-1" then the calculation of internal frame element forces and transverse displacements is skipped. Otherwise a separate internal force output file is written for each load case. For frame elements of length shorter than dx, internal forces and displacements are calculated at x=0 and x=L.