文档仅供参考
c to calculate the elastic matrix of element SUBROUTINE CAL_DD(PE,PR,DD)
DIMENSION DD(3,3) DO 10 I=1,3 DO 10 J=1,3
10 DD(I,J)=0.0
DD(1,1)=PE/(1.0-PR*PR) c
DD(1,2)=PE*PR/(1.0-PR*PR) DD(2,1)=DD(1,2) DD(2,2)=DD(1,1)
DD(3,3)=PE/((1.0+PR)*2.0) RETURN END
c to calculate the strain-displacement matrix of element SUBROUTINE CAL_BB(IE,N_NODE,N_ELE,IJK_ELE,X,Y,AE,BB)
DIMENSION IJK_ELE(500,3),X(N_NODE),Y(N_NODE),BB(3,6) I=IJK_ELE(IE,1) J=IJK_ELE(IE,2) K=IJK_ELE(IE,3) DO 10 II=1,3 DO 10 JJ=1,3
17
2020年4月19日
文档仅供参考
10 BB(II,JJ)=0.0 BB(1,1)=Y(J)-Y(K) BB(1,3)=Y(K)-Y(I) BB(1,5)=Y(I)-Y(J) BB(2,2)=X(K)-X(J) BB(2,4)=X(I)-X(K) BB(2,6)=X(J)-X(I) BB(3,1)=BB(2,2) BB(3,2)=BB(1,1) BB(3,3)=BB(2,4) BB(3,4)=BB(1,3) BB(3,5)=BB(2,6) BB(3,6)=BB(1,5)
CALL CAL_AREA(IE,N_NODE,IJK_ELE,X,Y,AE) DO 20 I1=1,3 DO 20 J1=1,6
20
BB(I1,J1)=BB(I1,J1)/(2.0*AE)
RETURN END
c
c to form the global load matrix
SUBROUTINE
2020年4月19日
18
文档仅供参考
FORM_P(N_ELE,N_NODE,N_LOAD,N_DOF,IJK_ELE,X,Y,P_IJK, & RESULT_N)
DIMENSION
IJK_ELE(500,3),X(N_NODE),Y(N_NODE),P_IJK(N_LOAD,3), & RESULT_N(N_DOF) 10 20
DO 10 I=1,N_DOF RESULT_N(I)=0.0 DO 20 I=1,N_LOAD II=P_IJK(I,1)
RESULT_N(2*II-1)=P_IJK(I,2) RESULT_N(2*II)=P_IJK(I,3)
RETURN END c
c to deal with BC(u) (here only for fixed displacement) using \0\
SUBROUTINE
DO_BC(N_BC,N_BAND,N_DOF,IJK_U,AK,RESULT_N)
DIMENSION RESULT_N(N_DOF),IJK_U(N_BC,3),AK(500,100) DO 30 I=1,N_BC IR=IJK_U(I,1) DO 30 J=2,3
19
2020年4月19日
文档仅供参考
IF(IJK_U(I,J).EQ.0)THEN ELSE II=2*IR+J-3 AK(II,1)=1.0 RESULT_N(II)=0.0
DO 10 JJ=2,N_BAND
10 AK(II,JJ)=0.0 DO 20 JJ=2,II 20 AK(II-JJ+1,JJ)=0.0 END IF 30 CONTINUE RETURN END
c
c to solve the banded FEM equation by GAUSS elimination
SUBROUTINE SOLVE(N_NODE,N_DOF,N_BAND,AK,RESULT_N) DIMENSION RESULT_N(N_DOF),AK(500,100) DO 20 K=1,N_DOF-1
IF(N_DOF.GT.K+N_BAND-1)IM=K+N_BAND-1 IF(N_DOF.LE.K+N_BAND-1)IM=N_DOF
DO 20 I=K+1,IM
2020年4月19日
20
相关推荐: