Να γραφεί πρόγραμμα που να υπολογίζει
τις ροπές (BΜ) κατά μήκος μίας αμφιέρειστης δοκού. Το τεχνικό πρόβλημα
που θέλουμε να λύσουμε παρουσιάζεται στο παρακάτω σχήμα:
Ο υπολογισμός της ροπής πραγματοποιείται βήμα-βήμα κατά μήκος
της δοκού. Όσο περισσότερα είναι τα διαστήματα υπολογισμού (N), τόσο μικρότερο
είναι το βήμα (dL) και τόσο μεγαλύτερη η ακρίβεια των αποτελεσμάτων. Το
πλήθος των διαστημάτων υπολογισμού (Ν) ορίζει και τον αριθμό των επαναλήψεων
που χρειάζονται για να υπολογιστεί όλη η δοκός. Επιπλέον, σε κάθε βήμα
θα πρέπει να ελέγχεται η σχετική θέση των φορτίων, ώστε να χρησιμοποιείται
ο κατάλληλος τύπος υπολογισμού. (Για κάθε φορτίο θα χρειαζόμαστε και μια
ξεχωριστή εντολή IF).
Κώδικας:
PROGRAM dokos2
IMPLICIT NONE
INTEGER:: N, i
REAL:: SL, Q, QL, P, PL,
REAL:: FaQ, FaP, Fa, dL, x, BMx_Fa, BMx_Q, BMx_P, BMx
! - Ypologismos Ropwn Amfiereistis Dokou Me Polla Fortia.
WRITE(*,10) ' Mikos Amfieristis Dokou (m) :'; read(*,*) SL
WRITE(*,10) ' Katanemimeno Fortio (kN/m) :'; read(*,*) Q
WRITE(*,10) ' Mikos Katanemimenou Fortiou (m) :'; read(*,*)
QL
WRITE(*,10) ' Sygkentrwmeno Fortio P (kN) :'; read(*,*) P
WRITE(*,10) ' Thesi Efarmogis Sygk.Fortiou P (m):'; read(*,*)
PL
WRITE(*,10) ' Plithos Diastimatwn Ypologismou :'; read(*,*)
N
! - Antidrasi sto Stirigma A
FaQ = Q*QL * (SL - QL/2.0)/SL
FaP = P * (SL - PL)/SL
Fa = FaQ + FaP
! - Mikos kathe Ypodiastimatos (= Synoliko Mikos / Plithos)
dL = SL / N
WRITE(*,20) 'x', 'M(x)'
DO i = 0,N
x = dL * i ! - H thesi X anamesa sta A & B
! - Kamptiki Ropi sto X, Logw tis Antidrasis Fa
BMx_Fa = Fa*x
! - Kamptiki Ropi sto X, Logw tou Katan. Fortiou Q
IF (x>=0.0 .and. x<=QL) THEN
BMx_Q = - Q*x * x/2.0
ELSE
BMx_Q = - Q*QL * (x-QL/2.0)
END IF
! - Kamptiki Ropi sto X, Logw tou Sygk. Fortiou P
IF (x>=PL) BMx_P = - P * (x-PL)
! - Synoliki Kamptiki Ropi sto X
BMx = BMx_Fa + BMx_Q + BMx_P
WRITE(*,21) x, Bmx
END DO
WRITE(*,22)
STOP
10 FORMAT(1X,A\)
20 FORMAT(//7X,A,7X,A/2X,20(1H-))
21 FORMAT(1X,2(F9.2))
22 FORMAT(2X,20(1H-)/)
END
Εκτέλεση:
Mhkos Amfierisths Dokou (m) :10
Katanemhmeno Fortio (kN/m) :20
Mhkos Katanemhmenou Fortiou (m) :5
Sygkentromeno Fortio P (kN) :60
Thesi Efarmoghs Sygk.Fortiou P (m):6
Plh8os Diasthmatwn Ypologismou :20
x M(x)
--------------------
0.00 0.00
0.50 47.00
1.00 89.00
1.50 126.00
2.00 158.00
2.50 185.00
3.00 207.00
3.50 224.00
4.00 236.00
4.50 243.00
5.00 245.00
5.50 244.50
6.00 244.00
6.50 213.50
7.00 183.00
7.50 152.50
8.00 122.00
8.50 91.50
9.00 61.00
9.50 30.50
10.00 0.00
--------------------
|
|