Generalized Beam (lateral) Vibration Analysis with Mathcad Prime using the Stiffness Matrix Method
Hi Mathcaders 🙂
While waiting for PTC to finally give us Prime 5, I am working on a worksheet for the analysis of the natural frequencies of a generalized beam in Prime 4.
Here is my problem:
I want to write a generalized Mathcad worksheet that can be used to find the nth free-vibration natural frequencies of a beam with nth DOF. The DOF's arise because the beam can be arbitrarily divided into i number of beam elements with i+1 number of nodes and with any defined supports at any defined positions on the beam. I have done this before, however, my worksheet is very limited to a cantilever beam, divided into 3 beam elements. I know what the stiffness matrix of a beam element is, and what its mass matrix as well is. I know how to **manually** assemble the stiffness and mass matrices for up to 3 beam elements...though the assembled matrices get really large and cumbersome to handle, since I basically add in an "analog manner" the individual stiffness matrices of the beam elements. I know how to **manually** reduce the mass and stiffness matrices based on my boundary conditions. I know how to solve the eigenvalues of the characteristic equation (K-w²M)U=0 to get the natural frequencies. So what then is my problem?
-Well, my biggest problem is assembling the K and M matrices **automatically** for a beam divided into i elements, having i+1 nodes. So, if someone can help me with a short code that does this, I will be very grateful.
-Since I want to make the sheet as general as possible, it has to be considered that the beam elements may not have the same cross-sectional area, length or mass i.e the beam elements may have different mass and stiffness matrices but still have to be assembled together.
-Also, I will be grateful if someone can show me how to automatically delete the rows and columns of the assembled K and M matrices based on the boundary conditions at a specific node. In my *analog* worksheet, I basically copy the assembled matrices and manually delete the rows and columns corresponding to the fixed support node.
Now before everyone murders me that I am posting questions that have already been answered in other blog posts, I want to make it known that I have truly searched the community and internet in general but I haven't really found a satisfactory solution to the problem I have. As with most things, I do believe strongly that the problem can be easily solved with Mathcad, if one is very experienced, has a very good command of Mathcad and is a good programmer, all three things of which I am not 😕 To proof that I have searched already, here are the links to the posts I have found related to my problem which I think still do not really answer my question very well:
-https://www.youtube.com/watch?v=J55VeMfLeWc&t=1719s (Here, the assembly is done using transformation matrices which have to be defined all the time depending on the problem situation...I would like to make Mathcad do this as automatic as possible)
Ready to further expound on the question if someone, kind enough to help needs further clarifications.
Thanks

