0% found this document useful (0 votes)
3 views1 page

Grasp

The document outlines a procedure for calculating the local stiffness matrix for structural members in a finite element analysis. It initializes a stiffness matrix, computes various properties based on material and section characteristics, and populates the matrix with axial, torsion, and bending terms. The final stiffness matrix is then assembled into a global matrix for further analysis.

Uploaded by

Le Fondateur
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views1 page

Grasp

The document outlines a procedure for calculating the local stiffness matrix for structural members in a finite element analysis. It initializes a stiffness matrix, computes various properties based on material and section characteristics, and populates the matrix with axial, torsion, and bending terms. The final stiffness matrix is then assembled into a global matrix for further analysis.

Uploaded by

Le Fondateur
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 1

For i = 1 To 12

For j = 1 To 12
kg(i, j) = 0
For k = 1 To 12
For l = 1 To 12
kg(i, j) = kg(i, j) + T(k, i) * ke(k, l) * T(l, j)
Next l
Next k
Next j
Next i

' Assemble into global matrix


AssembleMemberMatrix startNode, endNode, kg, K)
Next mem
End Sub

Private Sub GetLocalStiffnessMatrix(mem As clsMember, ByRef ke() As Double)


' Get material and section properties
Dim mat As clsMaterial
Dim sec As clsSection
Set mat = MaterialList(mem.MaterialID)
Set sec = SectionList(mem.SectionID)

' Calculate member properties


Dim L As Double: L = mem.Length
Dim EA_L As Double: EA_L = mat.ElasticModulus * sec.Area / L
Dim EIy_L3 As Double: EIy_L3 = mat.ElasticModulus * sec.Iyy / (L * L * L)
Dim EIz_L3 As Double: EIz_L3 = mat.ElasticModulus * sec.Izz / (L * L * L)
Dim GJ_L As Double: GJ_L = mat.ShearModulus * sec.J / L

' Initialize to zero


Dim i As Integer, j As Integer
For i = 1 To 12
For j = 1 To 12
ke(i, j) = 0
Next j
Next i

' Axial terms


ke(1, 1) = EA_L: ke(1, 7) = -EA_L
ke(7, 1) = -EA_L: ke(7, 7) = EA_L

' Torsion terms


ke(4, 4) = GJ_L: ke(4, 10) = -GJ_L
ke(10, 4) = -GJ_L: ke(10, 10) = GJ_L

' Bending about Y axis terms


ke(2, 2) = 12 * EIz_L3: ke(2, 6) = 6 * EIz_L3 * L
ke(2, 8) = -12 * EIz_L3: ke(2, 12) = 6 * EIz_L3 * L
ke(6, 2) = 6 * EIz_L3 * L: ke(6, 6) = 4 * EIz_L3 * L * L
ke(6, 8) = -6 * EIz_L3 * L: ke(6, 12) = 2 * EIz_L3 * L * L
ke(8, 2) = -12 * EIz_L3: ke(8, 6) = -6 * EIz_L3 * L
ke(8, 8) = 12 * EIz_L3: ke(8, 12) = -6 * EIz_L3 * L
ke(12, 2) = 6 * EIz_L3 * L: ke(12, 6) = 2 * EIz_L3 * L * L
ke(12, 8) = -6 * EIz_L3 * L: ke(12, 12) = 4 * EIz_L3 * L * L

' Bending about Z axis terms

P a g e 8 | 57

You might also like