实习指导书
结构力学(双语)
首页
| 负责人 | 课程介绍 | 教案 | 参考资料 | 教学大纲 | 考试大纲 | 实习指导书


结构力学计算机实习指导书

 

一、 程序简介 

平面刚架是一种应用十分广泛的结构形式。这里所介绍的平面刚架计算程序是按照矩阵位移法中后处理法的基本原理 和分析过程设计编制的,适用于平面刚架在结点静力荷载作用下的内力和位 移计算问题。当有结间荷载存在时,可先按照静力等效的原则将其转化为结点荷载。程序中总刚度矩阵采用二维等带宽存贮,有关总刚度矩阵的存放方法可参阅有关参考书。

      首先介绍平面刚架程序的数据结构。以下按整型变量、实型变量、整型数组和实型数组四个部分分别加以说明。

整型变量

NN       结点总数;

      NE       单元总数;

      NLN      受荷载作用的结点总数;

      NBN      支座结点总数;

      NNE      每个单元的结点数(对于杆系结构等于2)

      NDF      每个结点的自由度数(对于平面刚架等于3)

NDFEL    每个单元的自由度数,NDFELNDF*NNE

      NRMX    TK数组的最大行数,TK数组用于存放总刚度矩阵;

NCMX    TK数组的最大列数,即允许的总刚度矩阵的最大半带宽;

N        结点位移总数,N=NDF*NNN即为实际结构总刚度矩阵的阶数;

MS       实际结构总刚度矩阵的半带宽。

实型变量

    E        材料的弹性模量。

整型数组

    NCO     各单元两端的结点号,一维数组,按单元编号顺序存放;

    IB       支座结点的位移状态,一维数组。

实型数组

       X        结点的x坐标,一维数组,按结点编号顺序存放;

       Y        结点的y坐标,一维数组,按结点编号顺序存放;

PROP    各杆件的横截面面积和惯性矩,一维数组,按单元编号顺序存放;

AL       结点荷载或结点位移,一维数组,按结点编号顺序存放;

      TK       总刚度矩阵,二维数组,按照二维等带宽方式存放;

ELST     单元刚度矩阵,二维数组,存放当前单元的刚度矩阵元素;

V        一维工作数组;

FORC    各单元杆端力,一维数组,按单元编号顺序存放;

REAC    支座预定位移或结点合力,一维数组,按结点编号顺序存放,对于支座

结点来说结点合力即为支座反力;对于自由结点它的值等于相应的结点荷载。

平面刚架主程序的流程框图如图1-1所示。

 

 

                             1-1

 

平面刚架静力分析程序中共有九个子程序,主程序与它们之间的调用关系如图1-2所示。

                         1-2

 

二、 程序的应用

   首先应画出刚架的计算简图,进行结点和单元编号并设定结构坐标系。然后需按实际问题的已知条件准备好原始数据,填写时应注意单位的统一。当有结间荷载作用时,应将其化为等效结点荷载。若结构是对称的,则可利用对称性按半边结构进行分析。原始数据共包括以下五组数据,程序中要求按自由格式填写并采用文件输入。

 (1) 第一组数据——基本参数

对应输入语句  READ(IN*)  NNNENLNNBNE

依次填写刚架的结点总数,单元总数,受荷载作用的结点总数,支座结点总数和材料的弹性模量。

 (2) 第二组数据——结点坐标

对应输入语句  READ(IN*)  (IX(I)Y(I)J=1NN)

以结点为序依次填写结点的编号和它的xy坐标值。

 (3) 第三组数据——单元两端结点号和截面特征

对应输入语句  DO  3  J1NE

              READ(IN,*)  IIC(1)IC(2)W(1)W(2)

以单元为序依次填写单元的编号,单元两端结点的编号,单元的横截面面积和惯性矩。单元两端结点编号的填写次序可以任取。

 (4)第四组数据——结点荷载

对应输入语句  DO  6  I1NLN

              READ(IN,*)  J(W(K)K1NDF)

对有荷载作用的结点,以结点为序填写结点的编号和xy以及转角方向的结点荷载。结点荷载以与结构坐标系的方向一致为正,反之则为负;结点弯矩以逆时针方向为正。

 (5)第五组数据——支座约束信息

对应输入语句  DO  7  I1NBN

              READ(IN,*)  J(IC(K)K1NDF)(W(K)K1NDF)

对支座结点,以结点为序填写支座结点的编号、该支座结点在xy和转角方向位移状态的指示信息和xy和转角方向的预定位移值。若支座结点某一方向的位移是未知值时相应的位移状态的指示信息填1;若位移是预定值时相应的指示信息填0。支座的预定位移值按已知条件填写并取与结构坐标方向一致为正,若位移状态指示信息已指示支座结点的某一项位移是未知值,则相应的预定位移值需要填写一个任意的数值,如可填0.0。程序中根据指示信息不会调取该项位移值。

为了利用平面刚架静力分析程序进行实际计算,首先需要建立源程序文件,可取名为FRA.FOR。上述源程序在经过计算机编译、连接后得到可执行程序FRA.EXE。这样就完成了计算程序方面的准备工作。

 

三、 平面刚架静力分析源程序(FORTRAN 90语言)

!           STATIC ANALYSIS FOR PLANE FRAME SYSTEMES

            MODULE DEFINITION              

            INTEGER(KIND(4)) NN,NE,NLN,NBN,N,MS

            REAL(KIND(8))        E,G

            INTEGER(KIND(4)),    PARAMETER::  NRMX=300

            INTEGER(KIND(4)),    PARAMETER:: NCMX=30

            INTEGER(KIND(4)),    PARAMETER:: NDF=3

            INTEGER(KIND(4)),    PARAMETER:: NNE=2

            INTEGER(KIND(4)),    PARAMETER:: NDFEL=NDF*NNE

            INTEGER(KIND(4)),    PARAMETER:: IN=5

            INTEGER(KIND(4)),    PARAMETER:: IO=6

            END  MODULE DEFINITION

!**********************************************************

                          PROGRAM MAIN

!**********************************************************

       USE DEFINITION

            REAL(KIND(8))   X(100),Y(100),PROP(200),IB(80),TK(300,30),    &

           &           AL(300),REAC(300),FORC(600),ELST(6,6),V(30)

            INTEGER(KIND(4))NCO(200)

            CALL INPUT(X,Y,NCO,PROP,AL,IB,REAC)

            CALL ASSEM(X,Y,NCO,PROP,TK,ELST)        

            CALL BOUND(TK,AL,REAC,IB)             

            CALL SLBSI(TK,AL,V,N,MS,NRMX,NCMX)           

            CALL FORCE(NCO,PROP,FORC,REAC,X,Y,AL)         

            CALL OUTPT(NCO,AL,FORC,REAC)

       CLOSE(5)

            STOP

            END

             SUBROUTINE INPUT(X,Y,NCO,PROP,AL,IB,REAC)

            USE         DEFINITION

            REAL(KIND(8)),   INTENT(OUT)::X(100),Y(100),PROP(200),AL(300),IB(80),REAC(300)

       INTEGER(KIND(4)),INTENT(OUT)::NCO(200)

            INTEGER(KIND(4))              IC(3)

            REAL(KIND(8))                 W(3)

            OPEN(5,FILE='FRA.DAT')

            WRITE(IO,20)

  20   FORMAT(' ',70('*'))

            READ(IN,*) NN,NE,NLN,NBN,E

            WRITE(IO,21) NN,NE,NLN,NBN,E

  21   FORMAT(//' INTERNAL DATA'//' NUMBER OF NODES        :',                &

     &  I5/' NUMBER OF ELEMENTS     :',I5/' NUMBER OF LOADED NODES :', &

     &  I5/' NUMBER OF SUPPORT NODES :',I4/' MODULUS OF ELASTICITY :', &

     &  F15.0//' NODAL COORDINATES'/7X,'NODE',7X,'X',10X,'Y')

             READ(IN,*) (I,X(I),Y(I),J=1,NN)

            WRITE(IO,2) (I,X(I),Y(I),I=1,NN)

   2   FORMAT(I10,2F10.2)

            WRITE(IO,22)

  22   FORMAT(/' ELEMENT CONNECTIVITY AND PROPERTIES'/4X,'ELEMENT',     &

            &  3X,'START NODE  END NODE',5X,'AREA', 5X,'M. OF INERTIA')

            DO J=1,NE

                READ(IN,*) I,IC(1),IC(2),W(1),W(2)

           WRITE(IO,34) I,IC(1),IC(2),W(1),W(2)

  34       FORMAT(3I10,2F15.5)

                N1=NNE*(I-1)                     

                PROP(N1+1)=W(1)

                PROP(N1+2)=W(2)

                NCO(N1+1)=IC(1)

           NCO(N1+2)=IC(2)

       END DO

            WRITE(IO,23)

  23   FORMAT(/' NODAL LOADS'/7X,'NODE',6X,'PX',9X,'PY',8X,'MZ')

            N=NN*NDF

            DO  I=1,N

          AL(I)=0.

            END DO 

            DO I=1,NLN

                 READ(IN,*) J,(W(K),K=1,NDF)

                 WRITE(IO,8) J,(W(K),K=1,NDF)

   8        FORMAT(I10,3F10.2)

                 DO K=1,NDF

                      L=NDF*(J-1)+K

   6             AL(L)=W(K)

            END DO

                   END DO

            WRITE(IO,24)

  24    FORMAT(/'BOUNDARY CONDITION DATA'/27X,'STATUS',18X,'PRESCRIBED      &

     &  VALUES'/19X,'(0:PRESCRIBED, 1:FREE)'/7X,'NODE',8X,'U',9X,'V',    &

     &  8X,'RZ',10X,'U',9X,'V',8X,'RZ')

            DO I=1,NBN

                 READ(IN,*) J,(IC(K),K=1,NDF),(W(K),K=1,NDF)

                 WRITE(IO,10) J,(IC(K),K=1,NDF),(W(K),K=1,NDF)

                 L1=(NDF+1)*(I-1)+1

                 L2=NDF*(J-1)

                 IB(L1)=J

                 DO K=1,NDF

                      N1=L1+K

                      N2=L2+K

                      IB(N1)=IC(K)

                 REAC(N2)=W(K)

             END DO

                   END DO

  10    FORMAT(4I10,4X,3F10.4)

            RETURN

            END SUBROUTINE INPUT

            SUBROUTINE ASSEM(X,Y,NCO,PROP,TK,ELST)

            USE DEFINITION

            REAL(KIND(8)),INTENT(IN):: X(100),Y(100), PROP(200)

            REAL(KIND(8)),    INTENT(OUT)::  TK(200,20),ELST(NDFEL,NDFEL)                                    

            INTEGER(KIND(4))     NCO(200)

        N1=NNE-1

    MS=0

             DO  I=1,NE

                 L1=NNE*(I-1)

                 DO  J=1,N1

               L2=L1+J

                     J1=J+1

                     DO  K=J1,NNE

                          L3=L1+K

                          L=ABS(NCO(L2)-NCO(L3))

                     IF((MS-L).LT.0)  MS=L

                                END DO

                       END DO

             END DO

             MS=NDF*(MS+1)

             DO  I=1,N

                 DO J=1,MS

                TK(I,J)=0.

                 END DO

             END DO

             DO  NEL=1,NE

                  CALL STIFF(NEL,X,Y,PROP,NCO,ELST) 

             CALL ELASS(NEL,NCO,TK,ELST)

        END DO

        RETURN

             END         SUBROUTINE ASSEM

            SUBROUTINE STIFF(NEL,X,Y,PROP,NCO,ELST)        

            USE DEFINITION

REAL(KIND(8)),INTENT(IN):: X(100),Y(100),PROP(200)            REAL(KIND(8)),INTENT(OUT):: ELST(6,6)

            REAL(KIND(8))              V(30), ROT(6,6)

            INTEGER(KIND(4))           NCO(200)

            L=NNE*(NEL-1)

            N1=NCO(L+1)

            N2=NCO(L+2)

            AX=PROP(L+1)

            YZ=PROP(L+2)

            DX=X(N2)-X(N1)

            DY=Y(N2)-Y(N1)

            D=SQRT(DX**2+DY**2)

            CO=DX/D

            SI=DY/D

            DO I=1, 6

                DO J=1, 6

                     ELST(I,J)=0.

                ROT(I,J)=0.

           END DO

                   END DO 

            ROT(1,1)=CO

            ROT(1,2)=SI

            ROT(2,1)=-SI

            ROT(2,2)=CO

            ROT(3,3)=1.

            DO I=1,3

                 DO J=1,3

                ROT(I+3,J+3)=ROT(I,J)

                            END DO

            END DO 

            ELST(1,1)=E*AX/D

            ELST(1,4)=-ELST(1,1)

            ELST(2,2)=12*E*YZ/(D**3)

            ELST(2,3)=6*E*YZ/(D*D)

            ELST(2,5)=-ELST(2,2)

            ELST(2,6)=ELST(2,3)

            ELST(3,2)=ELST(2,3)

            ELST(3,3)=4*E*YZ/D

            ELST(3,5)=-ELST(2,3)

            ELST(3,6)=2*E*YZ/D

            ELST(4,1)=ELST(1,4)

            ELST(4,4)=ELST(1,1)

            ELST(5,2)=ELST(2,5)

            ELST(5,3)=ELST(3,5)

            ELST(5,5)=ELST(2,2)

            ELST(5,6)=ELST(3,5)

            ELST(6,2)=ELST(2,6)

            ELST(6,3)=ELST(3,6)

            ELST(6,5)=ELST(5,6)

            ELST(6,6)=ELST(3,3) 

            CALL BTAB3(ELST,ROT,V,6,6)

            RETURN

            END SUBROUTINE STIFF 

       SUBROUTINE ELASS(NEL,NCO,TM,ELMAT)

       USE DEFINITION

            REAL(KIND(8)),      INTENT(OUT)::  TM(300,30),ELMAT(NDFEL,NDFEL)

            INTEGER(KIND(4)),   INTENT(IN) ::  NEL

            INTEGER(KIND(4))     NCO(200)

             L1=NNE*(NEL-1)

             DO I=1,NNE

                L2=L1+I                                                           

                N1=NCO(L2)

                I1=NDF*(I-1)       

                J1=NDF*(N1-1)

               DO J=I,NNE

                 L2=L1+J

                 N2=NCO(L2)

                 I2=NDF*(J-1)      

                 J2=NDF*(N2-1)

                 DO K=1,NDF

                    KI=1

                    IF((N1-N2).LT.0)    THEN 

                                         KR=J1+K

                              IC=J2-KR+1

                         K1=I1+K

                                               ELSE IF((N1-N2).EQ.0)   THEN

                                                       KI=K

                                                                 KR=J1+K

                                 IC=J2-KR+1

                            K1=I1+K

                                                        ELSE

                                                            KR=J2+K

                                 IC=J1-KR+1

                                                       K2=I2+K

                                     END IF

 

                                DO L=KI,NDF

                        KC=IC+L

                        IF((N1-N2).LE.0)           THEN

                                 K2=I2+L

                                            ELSE

                                                 K1=I1+L

                              END IF

                        TM(KR,KC)=TM(KR,KC)+ELMAT(K1,K2)

                                    END DO

                               END DO

                            END DO

                   END DO

    RETURN

    END         SUBROUTINE ELASS

        SUBROUTINE BOUND(TK,AL,REAC,IB)

            USE DEFINITION

            REAL(KIND(8)),    INTENT(IN) :: IB(80),REAC(300)

            REAL(KIND(8)),    INTENT(OUT):: AL(300),TK(300,30)

            DO L=1,NBN

                            L1=(NDF+1)*(L-1)+1

        NO=IB(L1)

                 K1=NDF*(NO-1)

I_LOOP:        DO I=1,NDF

                    L2=L1+I

                    IF(IB(L2).NE.0) THEN

                                   CYCLE I_LOOP

                                     ELSE

                                         KR=K1+I          

                         DO J=2,MS

                            KV=KR+J-1

                            IF((N-KV).GE.0) THEN

                                AL(KV)=AL(KV)-TK(KR,J)*REAC(KR)

                                        TK(KR,J)=0.

                                                  END IF

                       KV=KR-J+1

                            IF(KV.GT.0) THEN

                             AL(KV)=AL(KV)-TK(KV,J)*REAC(KR)

                                  TK(KV,J)=0.

                                                  END IF

                                               END DO

                         TK(KR,1)=1.

                         AL(KR)=REAC(KR)

                                     END IF

              END DO I_LOOP

         END DO

            RETURN

            END         SUBROUTINE BOUND

            SUBROUTINE SLBSI(A,B,D,N,MS,NX,MX)

            REAL(KIND(8))              A(NX,MX),D(MX)

            REAL(KIND(8)),INTENT(OUT)::B(NX)

         N1=N-1

            DO K=1,N1

               C=A(K,1)

               K1=K+1

               IF((ABS(C)-0.000001).LE.0) THEN

                WRITE(6,2) K

2             FORMAT(' **** SINGULARITY IN ROW',I5)

                                     RETURN

                     END IF

                     NI=K1+MS-2

               L=MIN0(NI,N)

               DO J=2,MS

            D(J)=A(K,J)

          END DO

               DO J=K1,L

                K2=J-K+1

           A(K,K2)=A(K,K2)/C

          END DO

               B(K)=B(K)/C

               DO I=K1,L

                  K2=I-K1+2

                  C=D(K2)

                 DO J=I,L

                    K2=J-I+1

                    K3=J-K+1

               A(I,K2)=A(I,K2)-C*A(K,K3)

            END DO

            B(I)=B(I)-C*B(K)

          END DO

       END DO

            IF((ABS(A(N,1))-0.000001).LE.0) THEN

           WRITE(6,7) K

 7         FORMAT(' **** SINGULARITY IN ROW',I5)

           RETURN

        END IF

        B(N)=B(N)/A(N,1)

             DO I=1,N1

                K=N-I

                K1=K+1

                NI=K1+MS-2

                L=MIN0(NI,N)

                DO J=K1,L

                   K2=J-K+1

              B(K)=B(K)-A(K,K2)*B(J)

           END DO

             END DO

        RETURN

             END         SUBROUTINE SLBSI

            SUBROUTINE FORCE(NCO,PROP,FORC,REAC,X,Y,AL)

            USE DEFINITION

            REAL(KIND(8)), INTENT(IN) :: PROP(200),X(100),Y(100),AL(300)

            REAL(KIND(8)), INTENT(OUT):: REAC(300)

            REAL(KIND(8))                ROT(3,3),U(6),UL(6),F(6),FG(6),FORC(600)

            INTEGER(KIND(4))             NCO(200)

            DO I=1,N

            REAC(I)=0.

            END DO

            DO NEL=1,NE

                  L=NNE*(NEL-1)

                  N1=NCO(L+1)

                  N2=NCO(L+2)

                  AX=PROP(L+1)

                  YZ=PROP(L+2)

                  DX=X(N2)-X(N1)

                  DY=Y(N2)-Y(N1)

                  D=SQRT(DX**2+DY**2)

                  CO=DX/D

                  SI=DY/D

                  ROT(1,1)=CO

                  ROT(1,2)=SI

                  ROT(1,3)=0.

                  ROT(2,1)=-SI

                  ROT(2,2)=CO

                  ROT(2,3)=0.

                  ROT(3,1)=0.

                  ROT(3,2)=0.

                  ROT(3,3)=1.

                  K1=NDF*(N1-1)

                  K2=NDF*(N2-1)

                  DO I=1,3

                       J1=K1+I

                       J2=K2+I

                       U(I)=AL(J1)

                  U(I+3)=AL(J2)

             END DO

                  DO I=1,3

                       UL(I)=0.

                       UL(I+3)=0.

                       DO J=1,3

                            UL(I)=UL(I)+ROT(I,J)*U(J)

                       UL(I+3)=UL(I+3)+ROT(I,J)*U(J+3)

                  END DO

                             END DO

                  F(1)=E*AX/D*(UL(1)-UL(4))

                  F(2)=12*E*YZ/(D**3)*(UL(2)-UL(5))+6*E*YZ/(D*D)*(UL(3)+UL(6))

                  F(3)=6*E*YZ/(D*D)*(UL(2)-UL(5))+2*E*YZ/D*(2*UL(3)+UL(6))

                  F(6)=6*E*YZ/(D*D)*(UL(2)-UL(5))+2*E*YZ/D*(UL(3)+2*UL(6))

                  F(4)=-F(1)

                  F(5)=-F(2)

                  I1=6*(NEL-1) 

                  DO I=1,6

                       I2=I1+I

                  FORC(I2)=F(I)

             END DO

                  DO I=1,3

                       FG(I)=0.

                       FG(I+3)=0.

                       DO J=1,3

                            FG(I)=FG(I)+ROT(J,I)*F(J)

                      FG(I+3)=FG(I+3)+ROT(J,I)*F(J+3)

                  END DO

                              END DO

               DO I=1,3

                         J1=K1+I

                         J2=K2+I

                         REAC(J1)=REAC(J1)+FG(I)

                    REAC(J2)=REAC(J2)+FG(I+3)

               END DO

       END DO

            RETURN

            END SUBROUTINE FORCE

            SUBROUTINE OUTPT(NCO,AL,FORC,REAC)

       USE DEFINITION

            REAL(KIND(8)),      INTENT(IN):: AL(300),FORC(600),REAC(300)

            INTEGER(KIND(4)),   INTENT(IN):: NCO(200)

            WRITE(IO,1)

   1   FORMAT(//1X,70('*')//' RESULTS'//' NODAL DISPLACEMENTS'/7X,                    &

     &       'NODE',11X,'U',14X,'V',13X,'RZ')

            DO  I=1,NN

                  K1=NDF*(I-1)+1

                  K2=K1+NDF-1

             WRITE(IO,2) I,(AL(J),J=K1,K2)

            END DO

   2   FORMAT(I10,6F15.4)

            WRITE(IO,3)

   3   FORMAT(/' NODAL REACTIONS'/7X,'NODE',10X,'PX',13X,'PY',13X,'MZ')

            DO I=1,NN

                K1=NDF*(I-1)+1

                K2=K1+NDF-1

           WRITE(IO,2) I,(REAC(J),J=K1,K2)

            END DO

            WRITE(IO,4)

   4    FORMAT(/' MEMBER FORCES'/6X,'MEMBER',5X,'NODE',9X,'FX',13X,     &

     &        'FY',13X,'MZ')

            DO I=1,NE

                  K1=6*(I-1)+1

                  K2=K1+2

                  N1=NNE*(I-1)

                  WRITE(IO,6) I,NCO(N1+1),(FORC(J),J=K1,K2)

                  K1=K2+1

                  K2=K1+2

             WRITE(IO,7) NCO(N1+2),(FORC(J),J=K1,K2)

       END DO

   6    FORMAT(2I10,3F15.4)

   7    FORMAT(I20,3F15.4)

            WRITE(IO,5)

   5    FORMAT(//1X,70('*'))

            RETURN

            END SUBROUTINE OUTPT

            SUBROUTINE BTAB3(A,B,V,N,NX)

           REAL(KIND(8)) A(NX,NX),B(NX,NX),V(NX)

            DO  I=1,N

                 DO  J=1,N

                      V(J)=0.

                      DO  K=1,N

                   V(J)=V(J)+A(I,K)*B(K,J)

                            END DO

                            END DO

                 DO J=1,N

               A(I,J)=V(J)

            END DO

                   END DO

            DO J=1,N

                  DO I=1,N

                        V(I)=0.

                        DO K=1,N

                     V(I)=V(I)+B(K,I)*A(K,J)

                   END DO

                              END DO

                   DO I=1,N

                A(I,J)=V(I)

              END DO

             END DO

            RETURN

            END         SUBROUTINE BTAB3

 

四、 算例

试利用刚架分析程序计算图4-1a所示刚架。已知材料的弹性模量E=2.1×107Ncm2;各柱子的横截面面积A1=400cm2,惯性矩I1=12000cm4;斜杆的横截面面积A2=300cm2,惯性矩I2=7000cm4

 

         

                           41a

  原刚架的左柱和中柱上有集中力矩作用,此时可以按图4-1b所示进行结点和单元编号,这样所有的外荷载都成为结点荷载。当采用N-cm单位制时,原始数据可填写如下:

第一组数据: 109532.1E7

第二组数据:  10.00.0

         20.0450.0

         30.0600.0

         41000.0850.0

         52000.0600.0

         62000.0450.0

72000.00.0

         83000.0850.0

         94000.0600.0

        104000.00.0

第三组数据:  1 12400.012000.0

          2 23400.012000.0

          3 76400.012000.0

          4 65400.012000.0

          5109400.012000.0

          6 34300.07000.0

          7 45300.07000.0

          8 58300.07000.0

          9 89300.07000.0

第四组数据:  20.00.0-80000.0

          33000.00.00.0

          40.0-40000.00.0

          60.00.020000.0

          80.0-40000.00.0 

第五组数据:  10000.00.00.0

          70000.00.00.0

         100000.00.00.0

按照以上原始数据可建立数据文件FRA.DAT,运行程序,即可得到如下全部计算结果

***************************************************

INTERNAL DATA

NUMBER OF NODES        :    10

NUMBER OF ELEMENTS     :    9

NUMBER OF LOADED NODES :    5

NUMBER OF SUPPORT NODES :   3

MODULUS OF ELASTICITY :       21000000.

NODAL COORDINATES

      NODE      X          Y

        1         .00         .00

        2         .00      450.00

        3         .00      600.00

        4     1000.00      850.00

        5     2000.00      600.00

        6     2000.00      450.00

        7     2000.00         .00

        8     3000.00      850.00

        9     4000.00      600.00

       10     4000.00         .00

ELEMENT CONNECTIVITY AND PROPERTIES

ELEMENT   START NODE  END NODE     AREA     M. OF INERTIA

        1           1            2         400.00000    12000.00000

        2           2            3         400.00000    12000.00000

4           6            5         400.00000    12000.00000

        5          10            9         400.00000    12000.00000

        6           3            4         300.00000     7000.00000

        7           4            5         300.00000     7000.00000

        8           5            8         300.00000     7000.00000

        9           8            9         300.00000     7000.00000

NODAL LOADS

      NODE      PX           PY        MZ

        2         .00            .00   -80000.00

        3     3000.00            .00        .00

        4         .00       -40000.00        .00

        6         .00            .00   20000.00

        8         .00       -40000.00        .00

OUNDARY CONDITION DATA

                           STATUS              PRESCRIBED     VALUES

                  (0:PRESCRIBED, 1:FREE)

      NODE        U         V        RZ        U        V       RZ

        1           0         0         0         .0000     .0000     .0000

        7           0         0         0         .0000     .0000     .0000

       10           0         0         0         .0000     .0000     .0000

*****************************************************

RESULTS

NODAL DISPLACEMENTS

3           7            6         400.00000    12000.00000

       

      NODE         U               V             RZ

1          .0000             .0000          .0000

        2         -2.2318            -.0011          .0062

        3         -2.9685            -.0015          .0032

        4         -1.4082           -6.2663          -.0007

        5          .1518            -.0027          -.0003

        6          .1038            -.0021          -.0003

        7          .0000             .0000           .0000

        8         1.7405           -6.3801           .0011

        9         3.3293            -.0015          -.0039

       10          .0000             .0000           .0000

NODAL REACTIONS

      NODE          PX             PY             MZ

        1        28076.8800     20632.2000      -9766216.0000

        2             .0410          -.0020        -80003.5000

        3         2998.6970          -.1113            3.0000

        4            1.2949     -39999.9100              .0000

        5             .0605           .0547           -6.5000

        6             .0366          -.0117        20006.8300

        7          -940.8173      38466.2700       399498.4000

        8             -.6133     -40000.0000             .5000

        9             .8750           -.0098             .5000

       10        -30136.4600      20901.5300     10688330.0000

MEMBER FORCES

     MEMBER     NODE         FX             FY             MZ

        1           1       20632.2000        -28076.8800     -9766216.0000

                    2       -20632.2000        28076.8800     -2868380.0000

        2           2       20632.1900        -28076.9200      2788377.0000

                    3       -20632.1900        28076.9200     -6999915.0000

        3           7       38466.2700          940.8173       399498.4000

                    6       -38466.2700         -940.8173        23869.4200

        4           6       38466.2600          940.7807        -3862.5900

                    5       -38466.2600         -940.7807       144979.7000

        5          10       20901.5300        30136.4600     10688330.0000

                    9       -20901.5300       -30136.4600      7393539.0000

        6           3       35151.8000        12479.1100      6999918.0000

                    4       -35151.8000       -12479.1100       5863259.0000

        7           4       34846.4200        -11252.2900      -5863259.0000

                    5       -34846.4200        11252.2900      -5735339.0000

        8           5       33868.4600        11219.1500       5590353.0000

                    8       -33868.4600       -11219.1500       5974085.0000

        9           8       34305.1700       -12968.5000      -5974084.0000

                    9       -34305.1700        12968.5000      -7393539.0000

***********************************************************

Stop - Program terminated.

Press any key to continue

按以上结果文件,可以作出该刚架的弯矩、剪力和轴力图,如弯矩图42

        

                           42