Two previous posts showed how to use Minjie's meshing functions to create line meshes for beam-column elements and 2D meshes for solid elements. This post will complete the trilogy by showing how to make a 3D mesh for solid elements. The bar shown below is the same model used in the post on 2D meshing. … Continue reading Three-Dimensional Meshing
Category: Linear Analysis
Line Mesh
The DiscretizeMember function, which dates back many years, was recently superseded by the line mesh command, written by Minjie. In addition to creating boundaries for solid meshes, as shown in this post, you can use line meshes to discretize a frame member (2D or 3D) into beam-column elements--just pass the optional element type and arguments … Continue reading Line Mesh
Two-Dimensional Meshing
Although the material and element models are there, OpenSees is not well known for solid finite element analysis. Creating a good mesh is key to solid FEA and there aren't many meshing tools implemented in OpenSees. The OG block2D and block3D commands work fine, but you have to manually join or tie adjacent meshes with … Continue reading Two-Dimensional Meshing
Trying to Get a Reaction
OpenSees does not compute reactions automatically because this can be a time consuming process--OpenSees assembles reactions over all nodes in a model, not just over the nodes that are constrained. When performing response history analysis, assembling reactions is likely not something you want or need to do at every time step. You probably just want … Continue reading Trying to Get a Reaction
Like Spinning Nodes
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
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
Verifying Ain’t Easy
I've posted a few modeling challenges on frame analysis (strongback, Ziemian, and stability) and soil-structure interaction. However, I recently accepted a challenge from George Chamosfakidis to see if OpenSees can give the same periods and mode shapes reported in the ETABS verification example shown below. Published verification examples typically just show the "correct" result and … Continue reading Verifying Ain’t Easy
Load Patterns and Time Series
In nonlinear structural analysis, loads add together, just not the load effects. So, the total mechanical load applied to a structural model can be expressed as the sum of time-varying load vectors. $latex {\bf P}(t)={\displaystyle \sum_{i=1}^N} \lambda_i(t){\bf P}_{ref,i}$ Each load vector is the product of a time-varying scalar function, $latex \lambda(t)$, and a non-time-varying reference … Continue reading Load Patterns and Time Series
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
