138 B. Bahr et al. amplitude-dependent frequency and damping behavior. Lacayo and Allen [8] showed that QSMA can be used to calculate the force-displacement relation for a nonlinear mode of a jointed structure consisting only of friction nonlinearity. Park and Allen [9] derived a similar relation for a single mode of a geometrically nonlinear structure. QSMA has been tested on different benchmark systems [10, 11], producing results that are in fairly good agreement with dynamic response predictions at a fraction of the computational cost. Furthermore, the method has been successfully applied to real-world structures [12]. Although QSMA offers a clear computational advantage over nonlinear dynamic analyses, some bottlenecks in its implementation still exist, especially in the case of larger 3D FE models. Efforts have been made to address these challenges. For instance, Jewell et al. [10] found that the contact and solver settings need to be iterated on to improve solution convergence and reduce solve time. Zare and Allen [13] proposed a contact algorithm that speeds up the quasi-static simulations, especially in the case of 3D models that comprise a two-dimensional friction problem. Another bottleneck, which is the main focus of this paper, is the extraction of the structural mass and mode shape matrices from the commercial FE package. The implementation of QSMA requires the mass and mode shape matrices, obtained by a linear eigenvalue analysis, in order to calculate the distributed static load to be applied. Since QSMA is not currently a standard procedure in commercial FE software, the static load must be externally calculated and fed to the FE package. Thus, the structural mass matrix and/or the mode shape matrix must be extracted from the FE software, which can grow quite large as the complexity of the model increases. In the past, Matlab scripts were created that would call on an FEA software, such as Abaqus, to perform a linear or static analysis. Due to the differences in syntax between the two programs, an additional step of translating the collected data into the appropriate language is needed if QSMA is to be performed. Skipping this additional step is desirable as the translation process takes up a significant amount of time while performing QSMA. In our prior works, the steps above were performed using Matlab scripts that called upon a set of Python scripts to interface with Abaqus. However, Python has much of the same capability as Matlab so it was suggested to eliminate Matlab and perform all of the necessary analysis within Python. This paper presents a procedure to directly interface with the Python scripting language that is built into the commercial FEA software Abaqus in order to reduce the time that is needed to complete an analysis using QSMA. This is partly enabled by recent upgrades to Abaqus that incorporate newer and more complete versions of Python. While eliminating Matlab speeds up the file input-output, it was still necessary to write the mass matrix to a text file and read that into Python, and it became clear that doing so was an additional major bottleneck. Hence, a study was performed to see if the pseudo-inverse of the first m columns of the mode shape matrix could be used to obtain an adequate approximation of the distributed loading needed for QSMA. The proposed improvements have been tested on a simplified 2D FE model of the TMD benchmark structure [14]. The TMD benchmark structure [15] consists of a thin, curved panel that is clamped at the ends with the help of bolts, thus potentially consisting of both geometric and frictional nonlinearity. Additionally, a 3D, high-fidelity FE model of the TMD structure has been considered. While loading the mass matrix of this model using the previous approach would take days, this paper shows how the new approach results in significant computational savings. In both case studies, the reduced-order modeling approach presented by Shetty et al. [14] has been used to estimate the overall changes in damping and frequency. The following section reviews the major steps required to implement QSMA on a finite element model and discusses the Python scripts that are needed to implement this. The proposed approach is then applied to a simple two-dimensional model of two cantilevered beams that are bolted at their free ends, to verify the method. The scripts for this example are found in the Appendix and should enable others to test this approach and implement it on their systems. Then the new approach is applied to the TMD benchmark structure and its relative merits are investigated. 19.2 Theory The QSMA process that was first presented in [8] is detailed below; see [8, 10] for additional details. The FE equations of motion for a N-degree of freedom (MDOF) system are given below, including the pre-stress in the joints .Fpre and the joint force, .FJ(x, θ) , where. θ captures the stuck/slip state of each pair of contact nodes in the FEM. .M¨x+Kx+FJ(x, θ) =Fext +Fpre (19.1 ) The nonlinear term is approximated as .K0x for small displacements about the preloaded state and the following eigenvalue problem is solved to find the linearized modes: . K+K0 −ω 2 r M φr =0 (19.2)
RkJQdWJsaXNoZXIy MTMzNzEzMQ==