سورس برنامه تحليل ماتريسي خرپا به زبان فرترن

! Structures Analyze Program
! Winter 2004
! Ehsan Milani
real mk(100,4,4),mem(100,5),sk(100,100),Ax(100,100), Bx(100, 100, 100), Cx(100, 100), Mx(100),ans(100,4)
real cj,e,r(50),v(100,2,4),zx(100,4)
integer nj,za(100),hh(2,2)
dimension cj(50,7)
hh(1,1)=1
hh(2,2)=1
hh(1,2)=-1
hh(2,1)=-1
print *,»Enter No. of Joints :»
read *,nj
print *,» «
print *,»Enter E value :»
read *,e
do 10 i=1,nj

! Structures Analyze Program
! Winter 2004
! Ehsan Milani
real mk(100,4,4),mem(100,5),sk(100,100),Ax(100,100), Bx(100, 100, 100), Cx(100, 100), Mx(100),ans(100,4)
real cj,e,r(50),v(100,2,4),zx(100,4)
integer nj,za(100),hh(2,2)
dimension cj(50,7)
hh(1,1)=1
hh(2,2)=1
hh(1,2)=-1
hh(2,1)=-1
print *,»Enter No. of Joints :»
read *,nj
print *,» «
print *,»Enter E value :»
read *,e
do 10 i=1,nj
print *,»*********************»
print *,» «
print *,»Joint no. :»,i
print *,»Enter joint x coordination :»
read *,cj(i,1)
print *,»+—–+—–+—–+—–+—–+—–+»
print *,»Enter joint y coordination :»
read *,cj(i,2)
print *,»+—–+—–+—–+—–+—–+—–+»
print *,»Is the joint tied in x coordination(y=1/n=0):»
read *,cj(i,3)
print *,»+—–+—–+—–+—–+—–+—–+»
print *,»Is the joint tied in y coordination(y=1/n=0):»
read *,cj(i,4)
10 continue
print *,» «
print *,» «
print *,» «
print *,»Enter No. of Members :»
read *,nm
do 20 i=1,nm
print *,»************************»
print *,» «
print *,»Member no. :»,i
print *,»Enter member first joint no. :»
read *,mem(i,1)
print *,»+—–+—–+—–+—–+—–+—–+»
print *,»Enter member final joint no. :»
read *,mem(i,2)
print *,»+—–+—–+—–+—–+—–+—–+»
print *,»Enter member section area. :»
read *,mem(i,5)
mem(i,3)=(((cj((mem(i,1)),1)-cj((mem(i,2)),1))**2)+((cj((mem(i,1)),2)-cj((mem(i,2)),2))**2))**.5
if (cj(mem(i,1),1).eq.cj(mem(i,2),1)) then
mem(i,4)=1.570796327
goto 20
end if
mem(i,4)=atan((cj(mem(i,2),2)-cj(mem(i,1),2))/(cj(mem(i,2),1)-cj(mem(i,1),1)))
20 continue
2000 do 30 i=1,nm
mk(i,1,1)=(cos(mem(i,4)))**2
mk(i,1,2)=(cos(mem(i,4))*sin(mem(i,4)))
mk(i,2,2)=(sin(mem(i,4)))**2
mk(i,2,1)=mk(i,1,2)
do 50 j=1,2
do 40 g=1,2
mk(i,j+2,g)=(-1)*mk(i,j,g)
40 continue
50 continue
do 70 j=1,2
do 60 g=1,2
mk(i,j,g+2)=(-1)*mk(i,j,g)
60 continue
70 continue
do 90 j=1,2
do 80 g=1,2
mk(i,j+2,g+2)=mk(i,j,g)
80 continue
90 continue
do 120 j=1,4
do 130 g=1 , 4
mk(i,j,g)=((mk(i,j,g)*e*mem(i,5))/mem(i,3))
130 continue
120 continue
print *,» K Matrix of member :»,i
print *,» «
print *,» «
do 100 j=1,4
110 format(1x,f14.4,2x,f14.4,2x,f14.4,2x,f14.4)
print 110,mk(i,j,1),mk(i,j,2),mk(i,j,3),mk(i,j,4)
100 continue
read *,b
print *,»++++++++++++++++++++++++++++++++++++++++»
30 continue
do 160 i=1,j
azadi=azadi-(cj(i,3))-(cj(i,4))
160 continue
azadi=azadi+nj*2
print *,»Darajat azadi :»,azadi
read *,b
print *,» «
print *,»+++++++++++++++++++++++++++++++++++»
print *,» «
print *,»+++++++++++++++++++++++++++++++++++»
print *,» «
print *,»Loading system :»
180 print *,» »
print *,» «
print *,»enter joint no. :»
read *,b
print *,»load on x or y coordination (x=1/y=2):»
read *,q
print *,»enter load :»
read *,p
bn=2*b-1
do 170 i=1,(b-1)
bn=bn-cj(i,3)-cj(i,4)
170 continue
if (q.eq.1)then
r(bn)=p
else
r(bn+1)=p
end if
print *,»Enter other load ?(y=1,n=0)»
read *,b
if(b.eq.1)then
goto 180
end if
print *,» R Matrix of System :»
print *,» «
print *,» «
do 190 j=1,azadi
print *,r(j)
190 continue
do 240 i=1,nj
if (cj(i,3).eq.0)then
aq=aq+1
b=2*(i-1)+1
za(b)=aq
end if
if (cj(i,4).eq.0)then
aq=aq+1
b=2*(i-1)+2
za(b)=aq
end if
240 continue
read *,b
do 250 i= 1,nm
zx(i,1)= za(2*mem((i),1)-1)
zx(i,2)= za(2*mem(i,1))
zx(i,3)= za(2*mem(i,2)-1)
zx(i,4)= za(2*mem(i,2))
250 continue
do 280 j=1,azadi
do 290 i=1,azadi
if(i.eq.j)then
do 300 g=1,nm
do 310 h=1,4
if (zx(g,h).eq.i)then
sk(i,j)=sk(i,j)+mk(g,h,h)
end if
310 continue
300 continue
else
do 320 g=1,nm
do 330 h=1,4
if (zx(g,h).eq.i)then
do 340 w=1,4
if (zx(g,w).eq.j)then
sk(i,j)=sk(i,j)+mk(g,h,w)
end if
340 continue
end if
330 continue
320 continue
end if
290 continue
280 continue
do 710 j= 1,azadi
do 700 i=1,azadi
sk(j,i)=(aint(sk(j,i)*10000))/10000
700 continue
710 continue
print *,»+++++++++++++++++++++++++++++++++++++»
print *,» «
print *,»System K Matrix:»
print *,» «
print *,» «
do 360 j= 1,azadi
do 350 i azadi
print *,sk(j,i =1,)
350 continue
print *,» «
360 continue
read *,b
q=0
n=azadi
do 370 I = 1,N
do 380 J = 1,N
ax(i,j)=sk(i,j)
380 continue
370 continue
do 410 J = 1,N
ax(j,(azadi+1))=r(j)
410 continue
do 390 I = 1 , N
do 400 J = 1 ,(N + 1)
Bx(1, I, J) = ax(I, J)
400 continue
390 continue
do 490 G = 1 , N – 1
do 420 I = 1 , (N – G)
s1 = (Bx(G, I + 1, G) / Bx(G, I, G)) * (-1)
do 430 J = 1 ,N + 1
Bx(G + 1, I, J) = Bx(G, I, J) * s1 + Bx(G, I + 1, J)
430 continue
420 continue
490 continue
do 440 I = 1, N
do 450 J = 1 ,N + 1
Cx(I, J) = Bx(I, 1, J)
450 continue
440 continue
do 460 I = N ,1,-1
do 470 J = 1 ,N
Q = Q + Cx(I, J) * Mx(J)
470 continue
Mx(I) = (Cx(I, N + 1) – Q) / Cx(I, I)
Q = 0
460 continue
print *,»++++++++++++++++++++++++++++++++++++++++»
print *,» «
print *,»D Matrix:»
print *,» «
print *,» «
do 480 I = 1 , N
PRINT *,Mx(I)
480 continue
read *,b
do 600 i=1,nm
do 610 j=1,4
do 620 g=1,azadi
if (zx(i,j).eq.g)then
zx(i,j)=Mx(g)
end if
620 continue
610 continue
600 continue
do 630 i= 1, nm
v(i,2,1)=0
v(i,2,2)=0
v(i,1,3)=0
v(i,1,4)=0
v(i,1,1)=cos(mem(i,4))
v(i,1,2)=sin(mem(i,4))
v(i,2,3)=cos(mem(i,4))
v(i,2,4)=sin(mem(i,4))
630 continue
ww=0
do 640 i=1 , nm
do 650 j=1,2
do 660 g=1,4
ww=ww+v(i,j,g)*zx(i,g)
660 continue
ans(i,j)=ww
ww=0
650 continue
print *,»++++++++++++++++++++++++++++++++++++++»
print *,» «
print *,»Answers Matrix Of Member:»,i
print *,» «
print *,» «
do 670 h = 1 , 2
PRINT *,ans(i,h)
670 continue
do 800 j=1,2
do 810 g=1,2
qq=qq+hh(j,g)*ans(i,g)
810 continue
pp=qq
qq=0
800 continue
print *,»+++++++++++++++++++++++++++++++++»
print *,»Member Force:»
print *,» «
pp=abs(pp/mem(i,3))
PRINT *,pp
read *,b
640 continue
end

2 پاسخ

  1. سلام دوست عزیز
    شما برنامه تحلیل خرپا به روش بار واحد(کار مجازی) به زبان فرترن علاوه الگوریتم آن را هم دارید؟

  2. سلام دوست عزیز

    این سورس رو چه جوری میشه کامپایل کرد !!؟ یکی از دوستاتنم برای پاس کردن این ترمش به این برنامه احتیاج داره منم می خوام کمکش کنم اما 2 هفته بیشتر وقت نداریم.

پاسخی بگذارید

در پایین مشخصات خود را پر کنید یا برای ورود روی شمایل‌ها کلیک نمایید:

نشان‌وارهٔ وردپرس.کام

شما در حال بیان دیدگاه با حساب کاربری WordPress.com خود هستید. بیرون رفتن / تغییر دادن )

تصویر توییتر

شما در حال بیان دیدگاه با حساب کاربری Twitter خود هستید. بیرون رفتن / تغییر دادن )

عکس فیسبوک

شما در حال بیان دیدگاه با حساب کاربری Facebook خود هستید. بیرون رفتن / تغییر دادن )

عکس گوگل+

شما در حال بیان دیدگاه با حساب کاربری Google+ خود هستید. بیرون رفتن / تغییر دادن )

درحال اتصال به %s

%d وب‌نوشت‌نویس این را دوست دارند: