-
-
Notifications
You must be signed in to change notification settings - Fork 96
6. Analysis
PyNite checks to ensure all degrees of freedom are supported in a model. However, all responsibility for the correctness of a model is still with the user.
A very common modeling error is leaving nodal degrees of freedom free to rotate. Every degree of freedom (three translations and three rotations) at every node must be restrained. Restraint can be provided in one of two ways: (1) by an element's stiffness, or (2) by a support.
Providing end releases on a member reduces that member's ability to provide full rotational restraint to a node. For example, if a node is attached to members all having hinged ends, the node is free to spin, and therefore unstable. If you were to apply a moment at that node, where would it go? At least one of the members must be fixed to the node to prevent the node from spinning.
PyNite can perform a static analysis using the FEModel3D.analyze(check_statics=True)
command. Be warned however, that static analysis is often abused. Most modern building codes require some type of second order analysis. I recommend using the P-Δ analysis feature for most problems.
PyNite can perform P-Δ analysis on framed structures using the FEModel3D.Analyze_PDelta(max_iter=30, tol=0.01)
command. It doesn't yet support P-Δ effects on plate structures. The P-Δ analysis should not be confused with a P-δ analysis. The AISC 360 specification and commentary (a free download at AISC's website) discusses the difference between the two types of analyses. P-δ effects (if significant) can be included by further breaking members into series of smaller members.
By default, PyNite checks for a convergence tolerance within 1%. Also by default, if convergence doesn't occur within 30 iterations analysis stops and PyNite reports divergence. These values can be customized by providing alternate values for max_iter
and tol
when the FEModel3D.Analyze_PDelta()
method is called.