After posting on reasons that the solution to Ax=b fails, I realized I omitted an important case: truss nodes in a frame model. Although this post might be a stretch for an LBU (least bloggable unit), the blogging equivalent of an LPU, there are important factors to consider for structural models comprised of truss and … Continue reading Like Spinning Nodes

# Tag: Equation solver

# Failure to Solve

Solving a system of simultaneous linear equations, canonically referred to as solving Ax=b in math speak, is at the heart of every equilibrium solution algorithm for nonlinear analysis. In the context of OpenSees, A is the effective tangent stiffness matrix, x is the vector of displacement increments, and b is the residual force vector. However, … Continue reading Failure to Solve

# Don’t Try This at Home

The central difference method is an explicit integrator that forms a linear combination of the mass and damping matrices to advance the solution to the next time step. So, if the mass matrix is lumped and there's no damping, or only mass-proportional damping, the left-hand side matrix is diagonal. Then, you can solve the system … Continue reading Don’t Try This at Home

# Make Room for Storage

In a previous post, I showed how equation numberers can reduce the bandwidth of the tangent stiffness matrix. In addition to reducing the solution time for linear systems of equations, a smaller bandwidth reduces the data required to store the tangent stiffness matrix. To discuss matrix storage in this post, I'll use the frame model … Continue reading Make Room for Storage

# Reduce Your Bandwidth

For large structural models, the solution to $latex {\bf K}_T\Delta {\bf U}={\bf R}$ can be the computational bottleneck during an analysis. Although computing speed and algorithms to solve $latex {\bf K}_T\Delta {\bf U}={\bf R}$ are very good, you still want to make sure the solution happens as quickly as possible, particularly when inside the double … Continue reading Reduce Your Bandwidth

# Closing the Loop on Direct Assembly

All structural engineering students learn the direct assembly method, where you fix all degrees of freedom (DOFs) in a structural model, then impose a unit value of displacement at and in the direction of the $latex j^{th}$ DOF in order to get the $latex j^{th}$ column of the stiffness matrix from the fixed-end forces of … Continue reading Closing the Loop on Direct Assembly

# Most Solvers Can Be Marplots

Have you ever tried to replicate the familiar beam stiffness coefficients $latex 12EI/L^3$, $latex 6EI/L^2$, $latex 4EI/L$, and $latex 2EI/L$ (there's a poem about them here) by imposing unit displacements and rotations at fixed supports? It should be one of the first sanity checks you make when using or developing new structural analysis software. You … Continue reading Most Solvers Can Be Marplots

# Handle Your Constraints with Care

Manipulating the nodal equilibrium equations is necessary to enforce constraints between degrees of freedom (DOFs) at two or more nodes in a structural model. These multi-point constraints arise from assumptions of axial and flexural rigidity of frame elements, e.g., rigid diaphragms, and also between two nodes at the same location where some of the DOFs … Continue reading Handle Your Constraints with Care

# Be Careful with Modal Damping

Modal damping is kind of the it-spell in the dark art that is modeling viscous damping in structures. Although modal damping is pretty straightforward, you should be aware of an important aspect of its implementation in OpenSees. The issue is that OpenSees assembles the dynamic tangent in to the matrix storage scheme you choose via … Continue reading Be Careful with Modal Damping