$ FORM CLASSIC CRAIG-BAMPTON MASS AND STIFFNESS MATRICES $ --------------------------------------------------------------------- $ MSC.NASTRAN Version 70.7 $ $ $ +----------------------------------------------------------------+ $ | Copyright (C) 1998-2000 Quartus Engineering Incorporated | $ +----------------------------------------------------------------+ $ | | $ | QUARTUS ENGINEERING INCORPORATED Phone : 619-554-1892 | $ | 6349 Nancy Ridge Drive, Suite B Fax : 619-554-1898 | $ | San Diego, CA 92121 E-mail: info@quartus.com | $ | http://www.quartus.com | $ | | $ +----------------------------------------------------------------+ $ $ $ This alter forms superelement A-set stiffness and mass matrices $ using classic Craig-Bampton format. The diagonal terms of Kqq are $ the eigenvalues, and Mqq is an identity matrix. Note that unit $ generalized mass normalization must be specified on the EIGRL or $ EIGR statement. $ $======================================================================= $ COMPILE SEMR3,SOUIN=MSCSOU,NOLIST,NOREF $ $ Disable last-time-used logic when in "scratch" mode (scr=yes) $ ALTER 1 $ PUTSYS (0,192) $ Disable LTU logic $ $ Form GOQ with the correct number of columns $ ALTER 'CALL RESVEC'(1,3),'ENDIF'(2,0) $ Replace GOQ operations IF (NOQSET1 = NOQSET) THEN $ EQUIVX CMPHO/GOQ/-1 $ Equivalence ELSE $ MATGEN ,/NULLOQ/7/NOOSET/NOQSET $ Null O x Q matrix ADD NULLOQ,CMPHO/GOQ $ Add or trunc columns ENDIF $ $ $ Form the KQQ and MQQ matrices from CMLAMA $ (classic Craig-Bampton format) $ ALTER 'LAMX'(1,1),'EQUIVX GOQ1'(1,0) $ Replace KQQ/MQQ ops MATMOD CMMAT,,,,,/MQQDIAG1,/1/4 $ Col. 4 = gen. M (diag) MATMOD CMMAT,,,,,/KQQDIAG1,/1/5 $ Col. 5 = gen. K (diag) MATGEN ,/QNULL/7/NOQSET/1 $ Q-set null column ADD QNULL,MQQDIAG1/MQQDIAG $ Add or trunc rows ADD QNULL,KQQDIAG1/KQQDIAG $ Add or trunc rows MATMOD MQQDIAG,,,,,/MQQ,/28 $ Form sq. sym. matrix MATMOD KQQDIAG,,,,,/KQQ,/28 $ Form sq. sym. matrix MESSAGE //'COMPONENT MODE Q-SET MATRICES FORMED'/ ' USING CLASSIC CRAIG-BAMPTON FORMAT' $ $ $ Eliminate adding small diagonal terms to null stiffness Q-set DOF $ ALTER 'IF ( NULLKQQ'(1,-1),'CALL SESUM'(1,-1)$ Eliminate null KQQ ops $ $-----------------------------------------------------------------------