JWock82 / Pynite

A 3D structural engineering finite element library for Python.
MIT License
459 stars 93 forks source link

Static condensation in Member3D.py #10

Closed LcnGnd closed 4 years ago

LcnGnd commented 4 years ago

Member3D.py

  1. Static condensation

I don't unterstand because static condensation is used ( for example to built stiffness matrix, local fixed end reaction vector) and how it works.

  1. Member local fixed end reaction vector

Why __fer_Unc() is used in this part of code? Cattura

FEModel3D.py

Why fer() is used to assemble the global fixed end reacton vector? In Member3D.py, fer( ) is referred in local refering system. I should use FER () defined in Member3D.py, which is obtained after rotation by means T matrix

Cattura

JWock82 commented 4 years ago

Static condensation is used to account for member end releases. We start with the typical member stiffness matrix and fixed end reaction vector, and then we condense out any "released" degrees of freedom the user has specified.

You don't need to be concerned with any of these matrices unless you want to verify them for yourself. I've built simple wrappers around the object model to keep the user's interaction with matrices to a minimum. For example, the "FEModel3D.DefineReleases()" method will tell PyNite to take care of condensing the matrices so you don't have to deal with it.

fer() is the member's local fixed end reaction vector. I've adopted the notation of using capital letters for global matrices, and lower case letters for local matrices. If no end releases have been defined, fer() and __fer_Unc() return the same vector.