Nonlinear Structures & Systems, Volume 1

19 Using Abaqus with Python to Perform QSMA on the TMD Structure 139 where. ωr and. φr are the natural frequency and eigenvector for the rt hmode . In prior works, the quasi-static force .Mφrα was applied to excite only the rth mode, so that the quasi-static problem solved by the FEA software was the following: .Kx+FJ(x, θ) =Mφrα (19.3 ) Once the solution . x was obtained, the modal response .qr(α) was obtained using .qr(α) = φ T r Mx(α) . While the above is theoretically exact, for large models it can be quite cumbersome to extract the mass matrix from the software so that the products.φ T r Mand.Mφr can be evaluated. (For the 3D model discussed later, it could take more than a day to write the mass matrix to a text file and then to read that into Matlab.) Hence, this paper explores the following alternative. The product .φ TMis the inverse of the mode shape matrix, and so.φ T r Mis simply the rth column of that inverse. Hence, it can be estimated by taking the pseudo-inverse of the mode shape matrix. φ . In practice, one typically only computes a finite number of columns of the mode shape matrix, so the pseudo-inverse is denoted .φ L,m =pinv(φ(:, 1 : m)) (19.4 ) where.(:, 1 : m) denotes the first m columns of the matrix. Once the pseudo-inverse has been computed, one can extract the rth column for the mode of interest, which is denoted.φ L,m r an d i s a.1×Nvector. The matrix. φis easily extracted from the Abaqus *.odb files into Python, and so one can easily compute the loading as.Mφrα ≈ φ L,m r T α in Python. Then, Abaqus can be called to solve the following quasi-static problem: .Kx+FJ(x, θ) = φ L,m r T α (19.5 ) Once the nonlinear quasi-static solution. x has been obtained, this can be converted into the rth modal displacement using .qr(α) ≈ φ L,m r T x(α) . Hence, the variables that need to be saved or exported are much smaller than the length N vector s and.N×Nmatrices that are saved and imported into Matlab using our prior approach [10]. A validation of this new method is described in Sect. 19.3.2 of this work. 19.2.1 Using Python to Perform QSMA This subsection outlines the proposed Python approach and contrasts it to our prior approach. As is stated in the previous section, the natural frequency and eigenvalues of various modes are needed in order to perform QSMA, and these should be obtained about the preloaded state. Hence, the procedure below assumes that one has already performed a nonlinear static analysis to preload the joints and has then performed linear modal analysis about that state, and that the output *.odb file from that analysis is available. Once that is complete, one can run the first Python script, designated “InputWriter.py,” as this script will use the data from the linear analysis to calculate and apply a quasi-static load to be used in the QSMA nonlinear static analysis, as is outlined in Fig. 19.1. This script creates two additional input files. The first file, designated “model_force,” will contain the information needed for the QSMA static analysis step. This includes the typical parameter settings used to control the convergence of the model, as well as the forces and moments to be applied, which are given in the right-hand side of Eq. (19.5). The second file, designated “model_staticforce,” is a simple script that combines the original input file, which contains the model definition, with the “model_force” input file that was just created. The “model_staticforce” input file can also be used to specify that a restart analysis is to be run. When this capability is used, Abaqus simply resumes the model that was run earlier (i.e., when doing preload and linear modal analysis), and so the model does not need to be assembled again and the preload step does not need to be repeated. The use of restarts in Abaqus is discussed later in this work as it was found to significantly decrease the time that is spent performing QSMA. The second Python script, “PostProcessing.py,” is used to extract the static response. xin Eq. (19.5) that was found during the QSMA static analysis and then to convert it to modal coordinates . qr . Then, a small number of modal coordinates are written to a *.mat file for storage. The authors currently bring this data into Matlab for any further analysis but this step is fast now because the data to be written is small as one is typically not interested in more than a few tens of modes. One could compute the amplitude-dependent frequency and damping from only one mode, the mode that is directly excited in

RkJQdWJsaXNoZXIy MTMzNzEzMQ==