byuflowlab / GXBeam.jl

Pure Julia Implementation of Geometrically Exact Beam Theory
MIT License
88 stars 19 forks source link

Defining beam element stiffness matrices #100

Open axla-io opened 1 year ago

axla-io commented 1 year ago

Hi!

Maybe I'm bad at searching or misunderstood something, but I can't seem to find a function to generate the element stiffness matrix for a beam. Is this functionality in the package? If not, do you have a reference for which Timoshenko element formulation you are using?

taylormcd commented 1 year ago

Does this answer your question: https://flow.byu.edu/GXBeam.jl/stable/examples/section/

axla-io commented 1 year ago

IIUC, the approach in the docs only works for meshes? I couldn't figure out how to do this for beams. What I want to achieve is:

using GXBeam

# create points
nelem = 2
L = 10
x = range(0, L, length=nelem + 1)
y = zero(x)
z = zero(x)

iso = Material(100.0, 100.0, 100.0, 41.667, 41.667, 41.667, 0.2, 0.2, 0.2, 1000.0)
nodes = [Node(x[i], y[i], z[i]) for i = 1:length(x)]

elements = [Element(nodes[i], nodes[i+1]) for i = 1:length(x)-1]

S, sc, tc = compliance_matrix(nodes, elements)

M, mc = mass_matrix(nodes, elements)

And then somehow assemble this into a system...