回 帖 发 新 帖 刷新版面

主题:[讨论]请教三角形板单元的质量矩阵

各位老师好:我最近编写了一个三角形板单元的质量矩阵,根据的是谷口修主编的振动工程大全(或者是振动与冲击手册第一卷)的内容,其中VM是质量阵的系数,VMI.VMJ.VMJ是[M1],[M2]和[M3],VMII和VMJK为对角线和非对角子矩阵的中间矩阵,VMM为单元质量的一致矩阵。按理说我求得的一致质量矩阵应为正定矩阵,但是我的结果总是有负特征值呢?我把质量阵写成显式的但是还是解决不了问题,请问各位老师和高手朋友,有没有经过调试的程序?或者能否告诉我哪里写错了?我实在是找不出什么解决方法了,叩谢,叩谢!我的邮箱是whero_2000@163.com
C       VM=DENS*ARE*TH/10080.0
C        VMI(1,1)=1.0
C        VMI(1,2)=0.0
C        VMI(1,3)=0.0
C        VMI(2,1)=0.0
C        VMI(2,2)=B3
C        VMI(2,3)=C3
C        VMI(3,1)=0.0
C        VMI(3,2)=-B2
C        VMI(3,3)=-C2
C        VMJ(1,1)=1.0
C        VMJ(1,2)=0.0
C        VMJ(1,3)=0.0
C        VMJ(2,1)=0.0
C        VMJ(2,2)=B1
C        VMJ(2,3)=C1
C        VMJ(3,1)=0.0
C        VMJ(3,2)=-B3
C        VMJ(3,3)=-C3
C        VMK(1,1)=1.0
C        VMK(1,2)=0.0
C        VMK(1,3)=0.0
C        VMK(2,1)=0.0
C        VMK(2,2)=B2
C        VMK(2,3)=C2
C        VMK(3,1)=0.0
C        VMK(3,2)=-B1
C        VMK(3,3)=-C1
C
C
C        VMII(1,1)=1936.0
C        VMII(1,2)=208.0
C        VMII(1,3)=208.0
C        VMII(2,1)=208.0
C        VMII(2,2)=31.0
C        VMII(2,3)=19.0
C        VMII(3,1)=208.0
C        VMII(3,2)=19.0
C        VMII(3,3)=31.0
C
C        VMJK(1,1)=712.0
C        VMJK(1,2)=76.0
C        VMJK(1,3)=272.0
C        VMJK(2,1)=136.0
C        VMJK(2,2)=26.0
C        VMJK(2,3)=25.0
C        VMJK(3,1)=76.0
C        VMJK(3,2)=11.0
C        VMJK(3,3)=13.0
C
C        DO 20 II= 1,3
C        DO 20 JJ = 1,3
C        VSG1(II, JJ)=0.0
C        VSG2(II, JJ)=0.0 
C        VSG3(II, JJ)=0.0 
C        VSG4(II, JJ)=0.0 
C        VSG5(II, JJ)=0.0   
C        VSG6(II, JJ)=0.0          
C        DO 20 KK=1,3
C        VSG1(II,JJ) =VSG1(II,JJ)+VMII(II,KK)*VMI(KK,JJ) 
C        VSG2(II,JJ) =VSG2(II,JJ)+VMJK(II,KK)*VMI(KK,JJ)
C        VSG3(II,JJ) =VSG3(II,JJ)+VMJK(II,KK)*VMI(KK,JJ) 
C        VSG4(II,JJ) =VSG4(II,JJ)+VMJK(II,KK)*VMJ(KK,JJ)
C        VSG5(II,JJ) =VSG5(II,JJ)+VMII(II,KK)*VMJ(KK,JJ)
C        VSG6(II,JJ) =VSG6(II,JJ)+VMII(II,KK)*VMK(KK,JJ)
C20      CONTINUE
C        DO 21 II=1,3
C        DO 21 JJ=1,3
C        DO 21 KK=1,3
C        VM11(II,JJ) =VM11(II,JJ)+VMI(KK,II)*VSG1(KK,JJ)
C        VM21(II,JJ) =VM21(II,JJ)+VMJ(KK,II)*VSG2(KK,JJ)
C        VM31(II,JJ) =VM31(II,JJ)+VMK(KK,II)*VSG3(KK,JJ)
C        VM32(II,JJ) =VM32(II,JJ)+VMK(KK,II)*VSG4(KK,JJ)
C        VM22(II,JJ) =VM22(II,JJ)+VMJ(KK,II)*VSG5(KK,JJ)
C        VM33(II,JJ) =VM33(II,JJ)+VMK(KK,II)*VSG6(KK,JJ)
C21      CONTINUE
CCC
C        VMM(1,1)=VM*VM11(1,1)
C        VMM(2,1)=-VM*VM11(2,1)   
C        VMM(2,2)=VM*VM11(2,2)
C        VMM(3,1)=-VM*VM11(3,1)   
C        VMM(3,2)=VM*VM11(3,2)
C        VMM(3,3)=VM*VM11(3,3)
C        VMM(4,1)=VM*VM21(1,1)   
C        VMM(4,2)=-VM*VM21(1,2)
C        VMM(4,4)=VM*VM22(1,1)
C        VMM(5,1)=-VM*VM21(2,1)        
C        VMM(5,2)=VM*VM21(2,2)  
C        VMM(5,3)=VM*VM21(2,3) 
C        VMM(5,4)=-VM*VM22(2,1) 
C        VMM(5,5)=VM*VM22(2,2) 
C        VMM(6,1)=-VM*VM21(3,1)        
C        VMM(6,2)=VM*VM21(3,2)  
C        VMM(6,3)=VM*VM21(3,3) 
C        VMM(6,4)=-VM*VM22(3,1) 
C        VMM(6,5)=VM*VM22(3,2) 
C        VMM(6,6)=VM*VM22(3,3)
C        VMM(7,1)=VM*VM31(1,1)        
C        VMM(7,2)=-VM*VM31(1,2)  
C        VMM(7,3)=-VM*VM31(1,3) 
C        VMM(7,4)=VM*VM32(1,1) 
C        VMM(7,5)=-VM*VM32(1,2) 
C        VMM(7,6)=-VM*VM32(1,3)
C        VMM(7,7)=VM*VM33(1,1)
C        VMM(8,1)=-VM*VM31(2,1)        
C        VMM(8,2)=VM*VM31(2,2)  
C        VMM(8,3)=VM*VM31(2,3) 
C        VMM(8,4)=-VM*VM32(2,1) 
C        VMM(8,5)=VM*VM32(2,2) 
C        VMM(8,6)=VM*VM32(2,3)
C        VMM(8,7)=-VM*VM33(2,1)
C        VMM(8,8)=VM*VM33(2,2)
C        VMM(9,1)=-VM*VM31(3,1)        
C        VMM(9,2)=VM*VM31(3,2)  
C        VMM(9,3)=VM*VM31(3,3) 
C        VMM(9,4)=-VM*VM32(3,1) 
C        VMM(9,5)=VM*VM32(3,2) 
C        VMM(9,6)=VM*VM32(3,3)
C        VMM(9,7)=-VM*VM33(3,1)
C        VMM(9,8)=VM*VM33(3,2)
C        VMM(9,9)=VM*VM33(3,3)
C        DO 22 I=1,8
C       DO 22 J=I+1,9
C       VMM(I,J)=VMM(J,I)
C22    CONTINUE

回复列表 (共7个回复)

沙发

30人看,无一人回复。。。

板凳

这些牵涉到专业和算法, 没时间慢慢帮你看吧~

3 楼


没有施加约束,出现负的接近零的特征值不是很正常吗?板单元应该有3个零特征值,对应挠度和两个转角
去找找刘永仁写的《结构分析中的程序设计》,里面有Fortran77代码的,自己对照看看,再改改就是了

4 楼

谢谢两位老师的回答,但是我个人认为质量阵在不加约束的情况下也是正定阵(一致质量阵),刚度阵不加约束是奇异的,不知我的理解对不对。我看那两本书每个节点有三个形函数对应,第二个和第三个的符号与一般写的书籍不一样 我都注意了,改了符号也出现负值了,我现在做的工作只有自己推了。

5 楼

Pasuka老师你说的那本书我看了,算法和程序都没有涉及到质量阵 我现在就是按照上面写的形函数一个一个元素写,再对比与我说的那两本书的显式质量阵有什么不同。

6 楼

[quote]谢谢两位老师的回答,但是我个人认为质量阵在不加约束的情况下也是正定阵(一致质量阵),刚度阵不加约束是奇异的,不知我的理解对不对。我看那两本书每个节点有三个形函数对应,第二个和第三个的符号与一般写的书籍不一样 我都注意了,改了符号也出现负值了,我现在做的工作只有自己推了。[/quote]
计算机有舍入误差,转角对应的质量有可能是非常小的接近于零的数值,所以质量阵一般来说也有可能是半正定的,但是不影响计算广义特征值。
王勖成的那本有限元书里面也有代码,你也可以去看看。

7 楼

王瑁成老师的是MIDILIN板 形函数不一样

我来回复

您尚未登录,请登录后再回复。点此登录或注册