C
C MATRIX DISPLACEMENT METHOD FOR PLANE TRUSS
C
COMMON NPOIN,NELM,NBOU,NCON,NUM,NDEF,MBAND,IK
COMMON X(30),Y(30),NOD(2,60),NF(30),NBO(30,3),BU(30,3),F(60)
COMMON E(60),U(60),XA(60),A(60,20),B(60,20),XKBS(60,1,4)
COMMON /MODE/ IN,IO
DIMENSION TITL(15)
OPEN(10,FILE="TRUSS.IN")
OPEN(60,FILE="TRUSS.OUT")
IN=10
IO=60
READ(IN,2) TITL
WRITE(IO,3) TITL
2 FORMAT(15A4)
3 FORMAT(2X,15A4)
READ(IN,5) NPROB,NDEF,MBAND,INFLU
5 FORMAT(4I5)
WRITE(IO,6) NPROB,NDEF,MBAND,INFLU
6 FORMAT(/,20X,"NPROB =",I5,/,20X,"NDEF =",15,/,20X,
+"MBAND =",I5,/,20X,"INFLU =",I5)
CALL SETUP
CALL ASMBLE
CALL BOU
CALL SOL
CALL FORCES
STOP
END
C
SUBROUTINE SETUP
COMMON NPOIN,NELM,NBOU,NCON,NUM,NDEF,MBAND,IK
COMMON X(30),Y(30),NOD(2,60),NF(30),NBO(30,3),BU(30,3),F(60)
COMMON E(60),U(60),XA(60),A(60,20),B(60,20),XKBS(60,1,4)
COMMON /MODE/ IN,IO
READ(IN,10) NPOIN,NELM,NBOU,NCON
10 FORMAT(4I5)
WRITE(IO,5) NPOIN
WRITE(IO,6) NELM
WRITE(IO,7) NBOU
WRITE(IO,8) NCON
5 FORMAT (//,20X,"NUMBER OF POINTS =",I5)
6 FORMAT (20X,"NUMBER OF ELEMENTS =",I5)
7 FORMAT (20X,"NUMBER OF BOUNDARY CONDITIONS =",I5)
8 FORMAT (20X,"NUMBER OF CONCENTRATED LOADS =",I5)
NUM=NDEF*NPOIN
C COORDINATES OF NODE
WRITE(IO,9)
9 FORMAT(//,2X,"(2) COORDINATE OF EACH NODE")
WRITE(IO,21)
21 FORMAT(/,10X,"NODE X-COORDINATE(CM) Y-COORDINATE(CM)",/)
DO 101 K=1,NPOIN
101 READ(IN,11) IK,X(K),Y(K)
11 FORMAT(I5,5X,2F10.0)
DO 202 K=1,NPOIN
202 WRITE(IO,12) K,X(K),Y(K)
12 FORMAT(10X,I5,3X,1PE15.7,3X,1PE15.7)
C NODES OF ELEMENTS
WRITE(IO,23)
FORMAT(//,2X,"(3) J AND K NODES OF EACH ELEMENTS")
WRITE(IO,24)
24 FORMAT(/,10X,"ELEMENT NO J-NODE K-NODE",/)
DO 102 I=1, NELM
READ(IN,16) K, (NOD(J,K),J=1,2)
16 FORMAT(3I3)
102 WRITE(IO,13) K, (NOD(J,K),J=1,2)
13 BOUNDARY CONDITIONS
WRITE(IO,25)
25 FORMAT(//,2X,"(4) BOUNDARY CONDITIONS")
WRITE(IO,26)
26 FORMAT(/,7X," NODE NO X-DISPLACEMENT(CM) Y-DISPLACEMENET",
# " (CM*)",7X,"BU(X)",1X,"BU(Y)",/)
DO 103 I=1,NBOU
READ(IN,14)NF(I),NBO(I,1),NBO(I,2),BU(I,1),BU(I,2)
WRITE(IO,15) NF(I),BU(I,1),BU(I,2), NBO(I,1), NBO(I,2)
15 FORMAT(8X,I5,8X,1PE15.7,4X,1PE15.7,4X,7X,I2,5X,I2)
14 FORMAT(I5,3X,2I1,2F10.0)
103 CONTINUE
C CONCENTRATED FORCES
WRITE(I0,27)
27 FORMAT(//,2X,"(5) APPLIED CONCENTRATED FORCES")
WRITE(I0,28)
28 FORMAT(/,10X,"NODE NO FORCE IN X-DIR(KG) FORCE"
# , "IN Y-DIR(KG*)",/)
DO 201 I=1,NUM
201 F(I)=0.0
DO 205 I=1, NCON
READ(IN,18) K, F(2*K-1),F(2*K)
WRITE(IO,19) K, F(2*K-1),F(2*K)
19 FORMAT(11X,I5,6X,1PE15.7,5X,1PE15.7)
205 CONTINUE
WRITE(IO,29)
29 FORMAT(//,2X,"(6) MATERIAL PROPERTIES")
WRITE(IO,30)
30 FORMAT(/,10X,"ELEMENT NO ELASTICITY(KG/CM**2) AREA(CM**2)",/)
DO 207 I=1,NELM
207 XA(I)=100.
DO 206 I=1,NELM
E(I)=2100000.
206 WRITE(IO,31) I,E(I), XA(I)
18 FORMAT(I5,5X,2F10.0)
31 FORMAT(12X,I5,8X,1PE15.7,1PE15.7)
WRITE(IO,70)
70 FORMAT(//,2X,"ELEMENT LENGTH(CM) COSINE SINE")
RETURN
END
C
SUBROUTINE ASMBLE
COMMON NPOIN,NELM,NBOU,NCON,NUM,NDEF,MBAND,IK
COMMON X(30),Y(30),NOD(2,60),NF(30),NBO(30,3),BU(30,3),F(60)
COMMON E(60),U(60),XA(60),A(60,20),B(60,20),XKBS(60,1,4)
DIMENSION K(4),ST(4,4),XX(2),YY(2)
DO 201 I=1,60
DO 201 J=1,20
201 B(I,J)=0.0
DO 204 N=1,NELM
DO 202 I=1,2
ND=NOD(I,N)
XX(I)=X(ND)
YY(I)=Y(ND)
END
실행시키면 자꾸 error code 1004 나는데 왜그런지 잘 몰겠슴다..
어디가 잘못된건지 알고 싶어여 ^^;
대충이라도 지적해 주시면 고맙겠습니다.. ^^
C MATRIX DISPLACEMENT METHOD FOR PLANE TRUSS
C
COMMON NPOIN,NELM,NBOU,NCON,NUM,NDEF,MBAND,IK
COMMON X(30),Y(30),NOD(2,60),NF(30),NBO(30,3),BU(30,3),F(60)
COMMON E(60),U(60),XA(60),A(60,20),B(60,20),XKBS(60,1,4)
COMMON /MODE/ IN,IO
DIMENSION TITL(15)
OPEN(10,FILE="TRUSS.IN")
OPEN(60,FILE="TRUSS.OUT")
IN=10
IO=60
READ(IN,2) TITL
WRITE(IO,3) TITL
2 FORMAT(15A4)
3 FORMAT(2X,15A4)
READ(IN,5) NPROB,NDEF,MBAND,INFLU
5 FORMAT(4I5)
WRITE(IO,6) NPROB,NDEF,MBAND,INFLU
6 FORMAT(/,20X,"NPROB =",I5,/,20X,"NDEF =",15,/,20X,
+"MBAND =",I5,/,20X,"INFLU =",I5)
CALL SETUP
CALL ASMBLE
CALL BOU
CALL SOL
CALL FORCES
STOP
END
C
SUBROUTINE SETUP
COMMON NPOIN,NELM,NBOU,NCON,NUM,NDEF,MBAND,IK
COMMON X(30),Y(30),NOD(2,60),NF(30),NBO(30,3),BU(30,3),F(60)
COMMON E(60),U(60),XA(60),A(60,20),B(60,20),XKBS(60,1,4)
COMMON /MODE/ IN,IO
READ(IN,10) NPOIN,NELM,NBOU,NCON
10 FORMAT(4I5)
WRITE(IO,5) NPOIN
WRITE(IO,6) NELM
WRITE(IO,7) NBOU
WRITE(IO,8) NCON
5 FORMAT (//,20X,"NUMBER OF POINTS =",I5)
6 FORMAT (20X,"NUMBER OF ELEMENTS =",I5)
7 FORMAT (20X,"NUMBER OF BOUNDARY CONDITIONS =",I5)
8 FORMAT (20X,"NUMBER OF CONCENTRATED LOADS =",I5)
NUM=NDEF*NPOIN
C COORDINATES OF NODE
WRITE(IO,9)
9 FORMAT(//,2X,"(2) COORDINATE OF EACH NODE")
WRITE(IO,21)
21 FORMAT(/,10X,"NODE X-COORDINATE(CM) Y-COORDINATE(CM)",/)
DO 101 K=1,NPOIN
101 READ(IN,11) IK,X(K),Y(K)
11 FORMAT(I5,5X,2F10.0)
DO 202 K=1,NPOIN
202 WRITE(IO,12) K,X(K),Y(K)
12 FORMAT(10X,I5,3X,1PE15.7,3X,1PE15.7)
C NODES OF ELEMENTS
WRITE(IO,23)
FORMAT(//,2X,"(3) J AND K NODES OF EACH ELEMENTS")
WRITE(IO,24)
24 FORMAT(/,10X,"ELEMENT NO J-NODE K-NODE",/)
DO 102 I=1, NELM
READ(IN,16) K, (NOD(J,K),J=1,2)
16 FORMAT(3I3)
102 WRITE(IO,13) K, (NOD(J,K),J=1,2)
13 BOUNDARY CONDITIONS
WRITE(IO,25)
25 FORMAT(//,2X,"(4) BOUNDARY CONDITIONS")
WRITE(IO,26)
26 FORMAT(/,7X," NODE NO X-DISPLACEMENT(CM) Y-DISPLACEMENET",
# " (CM*)",7X,"BU(X)",1X,"BU(Y)",/)
DO 103 I=1,NBOU
READ(IN,14)NF(I),NBO(I,1),NBO(I,2),BU(I,1),BU(I,2)
WRITE(IO,15) NF(I),BU(I,1),BU(I,2), NBO(I,1), NBO(I,2)
15 FORMAT(8X,I5,8X,1PE15.7,4X,1PE15.7,4X,7X,I2,5X,I2)
14 FORMAT(I5,3X,2I1,2F10.0)
103 CONTINUE
C CONCENTRATED FORCES
WRITE(I0,27)
27 FORMAT(//,2X,"(5) APPLIED CONCENTRATED FORCES")
WRITE(I0,28)
28 FORMAT(/,10X,"NODE NO FORCE IN X-DIR(KG) FORCE"
# , "IN Y-DIR(KG*)",/)
DO 201 I=1,NUM
201 F(I)=0.0
DO 205 I=1, NCON
READ(IN,18) K, F(2*K-1),F(2*K)
WRITE(IO,19) K, F(2*K-1),F(2*K)
19 FORMAT(11X,I5,6X,1PE15.7,5X,1PE15.7)
205 CONTINUE
WRITE(IO,29)
29 FORMAT(//,2X,"(6) MATERIAL PROPERTIES")
WRITE(IO,30)
30 FORMAT(/,10X,"ELEMENT NO ELASTICITY(KG/CM**2) AREA(CM**2)",/)
DO 207 I=1,NELM
207 XA(I)=100.
DO 206 I=1,NELM
E(I)=2100000.
206 WRITE(IO,31) I,E(I), XA(I)
18 FORMAT(I5,5X,2F10.0)
31 FORMAT(12X,I5,8X,1PE15.7,1PE15.7)
WRITE(IO,70)
70 FORMAT(//,2X,"ELEMENT LENGTH(CM) COSINE SINE")
RETURN
END
C
SUBROUTINE ASMBLE
COMMON NPOIN,NELM,NBOU,NCON,NUM,NDEF,MBAND,IK
COMMON X(30),Y(30),NOD(2,60),NF(30),NBO(30,3),BU(30,3),F(60)
COMMON E(60),U(60),XA(60),A(60,20),B(60,20),XKBS(60,1,4)
DIMENSION K(4),ST(4,4),XX(2),YY(2)
DO 201 I=1,60
DO 201 J=1,20
201 B(I,J)=0.0
DO 204 N=1,NELM
DO 202 I=1,2
ND=NOD(I,N)
XX(I)=X(ND)
YY(I)=Y(ND)
END
실행시키면 자꾸 error code 1004 나는데 왜그런지 잘 몰겠슴다..
어디가 잘못된건지 알고 싶어여 ^^;
대충이라도 지적해 주시면 고맙겠습니다.. ^^
다음검색
댓글
댓글 리스트-
작성자주인장 작성시간 04.06.25 에러가 어디서 어떻게 나오나요? 에러전문을 한번 보여주세요.
-
작성자다경삼촌 작성시간 04.07.01 구조해석 배울떄.. 기본적으로 주는..예제 파일 같은데요 얼추 형식이.... ( 오타검사부터 하심이^^ ) 돌려진 실행파일은 지금 컴퓨터에 있는데..원본 파일이..어디갔는지.. 찾으면 그거라두 올려드릴까요?
-
작성자다경삼촌 작성시간 04.07.01 참..님이 적으신 쏘스.. 아래부분 다 빠져있네요.. 복사물 몇장 더 있을꺼에요. 우선 서브루틴만해도 ASMBLE 다음에 강성행렬구하는부분(STIFF) 경계조건부분(BOU), slove부분 (SOV), FORCE등 다 빠져있음다.. - 학기말 레포트였으면 어떻게든 해결했을듯.^^ 꼭 저희 학부생들이 저한테 물어본 2,3장짜리 쏘스
-
작성자다경삼촌 작성시간 04.07.01 랑..비슷한듯.. 뒷장 더 있는데..ㅡㅡa